![]() |
|
|
![]()
|
|
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Итак, скачал я 213 Кб файлов с расширением *.С и *.H
а так же билиотеку sqllite3.dll Что делать дальше? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Да, много воды утекло с тех пор, как я последний раз брался за SQLite. Сорри, я конечно не мог знать, что они конкретно поменяли интерфейс. Но это не беда, конечно
К сожалению в прошлый раз я дал тебе ссылочку на старую версию. Чтобы не топтаться на месте переходим на новейшую: http://www.sqlite.org/sqlite-source-3_2_2.zip вот helloword'ик (работает, но будет ещё меняться)
Теперь создаём проект. Самый быстрый способ: Рспаковываем архив в папку. Берём вышеописанный пример и сохраняем его в той же папке как (например) sergej.cpp Открываем sergej.cpp в VC6 и просим закомпилить. Компилер ругается на unresolved symbols. Открываем таб FileView и правой кнопкой мыши в меню выбираем "add Files to Project". Забираем ВСЕ *.с файлы кроме: shell.c и tclsqlite.c. Компилируем. Всё! Как альтернативу, подсоеденю готовый проект. Присоединённый файл ( Кол-во скачиваний: 102 )
sqlite_sergej.z.zip 656,63 Kb |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Вот тоже неплохой пример работы. Там так же описываются примеры работы вторым способом - через sqlite3_prepare() sqlite3_step()
http://www.adp-gmbh.ch/sqlite/bind_insert.html Таким образом можно забирать результат строка за строкой. |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Кстати, кто-то мне говорил, что в SQLite проблемы с удалением записей - приходилось копировать таблицу, убивать и заново воссоздавать.
В новых версиях SQLite эта проблема решена? P.S. Сории за оффтоп, просто интересно очень.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Проблема сводится к вырезанию части контента из файла. Так что решить её однозначно никогда и нигде не удастся. Хотим удалить физически, надо переписывать файлы БД чтобы не оставалось там "пустых" мест. В новой версии есть "autovacuum", который эту процедуру будет повидимому автомвтически делать. Я к сож. первый раз за 2 года за SQLite взялся, поэтому точно говорить не буду. Раньше это делалось коммандой "vacuum" |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Так,
sergej.z, начинаю пробовать. Думаю эта тема хорошо разовьется. Сейчас проблема сохранения данных без привязки к установки базы-очень актуальна. Раньше пользовались файлами DBF, но сейчас на них бесплатных библиотек нет.А в Инете много встречается просьб.SQLite-лучшая тому альтернатива. Думаю, если хорошо пойдет, тема будет большой, и можно FAQ смело делать.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
Твой пример работает. Только вот в 7 студии я не могу так сделать! Пишет
Итак со всеми файлами.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
ээээ седьмой у меня нет. И не будет
Это компилерские приколы. А может она вообще си не понимает? Можно в либу скомпилить конечно. |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
B в смысле библиотеку подключить sqlite3.dll?
А пример под либу можешь преписать? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Так Сережа, работаем дальше!
Для тех , кто не понял, добавлякм файлы... Project->Add Existing Item, и выбираю файлы с расширеним *.C, как писал sergej.z А потом в свойствах проекта делаем
Все работает.. Итак, дальше.. Попробоввал я в коде сделать
Появилась библиотека Dima.dll Я так понял это моя база? Добавлено @ 12:58 Вообще,sergej.z, может вкратце описать создание базы, открытие, выполнение всех запросов, закрытие -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||
|
|||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Может быть простой Rebuild All помог бы? |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
DENNN
Нет, это проблема в файлах, потому, что они на С написаны, а не на С++ -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Итак давйте для начала возьмем три кита
sqlite3_open()-Открывает/создает базу данных sqlite3_exec() -Выполняет запрос.Весь синтаксис у них описан... sqlite3_close()-Собсвтенно закрывает базу.. Ну что,sergej.z, давай потренируемся на создании трех таблиц.. Я предлагаю это тебе, хотя буду пробывать сам -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Так, все нормально, теперь вопрос, как ходить по записям, кроме как
int myCallback(void*,int,char**, char**); -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Первые проблемы..
Не отрабатывает функция в классе
Все нормально i, возвращает ноль, а вот до функции дело не доходит... Это сообщение отредактировал(а) Coocky - 4.8.2005, 16:51 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
Нет, тут есть проблемка, все таки, запросы правильные... Серега, ты хоть отвечай, а то я сам с собой болтаю.... Это сообщение отредактировал(а) Coocky - 4.8.2005, 17:53 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
А вот действительно проблема И так, запускаем твою прогу первый раз.Все нормально.. Теперь коменнтируем добавление записей..Я их удалю
Вот тут и проблема, записи все пустые, такое ощущение, что все перезаписывется, в чем проблема? Это сообщение отредактировал(а) Coocky - 4.8.2005, 17:50 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
||||||||||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Привет
Нет, всё нормально. Просто надо после добавления выполнить commit. Тогда все изменения действительно войдут в силу. Я исправил код - пример. Обрати внимание на добавленный:
Это главное. теперь пройдусь по предыдущим постам
Либу чтобы подключить, ничего переписывать не надо. Она ведь тоже самое, что и скомпилленые обьекты. А вот чтобы длль подсоеденить, надо ессно писать подгрузку функций из неё. Если время будет, добавлю так же.
Ты имеешь ввиду понвился файл Dima.db Да, это и есть файл базы.
Дык в примере вроде всё описано в комментарах
sqlite3_prepare(), sqlite3_step(). Примеры по линьку, который я давал в одном из первых сообщений. Время будет, добавлю свой пример. Пока очень занят..
Наверное записей нет таких. |
||||||||||||||
|
|||||||||||||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
Держи плюс Да, и еще забыл спросить, нормально будет работать со статической компоновкой? Я вроде у других проверял, так файл без расширения dll... И еще,sergej.z, я что-то плохо понимаю, но не нахожу техх нюансов , в мануале, типа commit... Если можно, напиши, а я пока по MFC пройдусь -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Да, конечно. У всего есть свои плюсы и минусы. например Длльку можно будет быстро заменить при апдейте, за это надо её всегда за собой таскать + подгружать каждый раз. Статическая компоновка позволит сделать один файл, но при обновлении самой SQLite Всё надо будет заного компилить. Хотя конечно, если тебя сегодняшняя версия устраивает, зачем вообще обновлять?
Ну это вообще то теория баз данных. С библиотекой имеет мало общего, разве что последняя её имплементирует. begin-> начало трансакции commit -> конец трансакции. Это в любой нормальной БД. Почитай какую нибудь литературу по теории БД. |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Итак пример первый теперь с возможностью динамической подгрузки и использования sqlite3_step();(пример 2)
Осталась небольшая непонятка. В callback поидее с расстоянием в columns должны лежать типы данных. Но это не так. Где их там взять - ума не приложу. sqlite3_step работает отлично. Да и я бы его рекомендовал конечно вместо callback. И интерфейс его в этой версии намного удобней
|
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
Найди ошибку... (не создается первичный ключ)
Это сообщение отредактировал(а) Coocky - 5.8.2005, 18:15 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Вообще в SQLite все типы - string.
И существует только int primary key. Остальные декларации полей просто чисто для информации. Можешь туда писать что хочешь, всё игнорируется. Вообще, прежде чес работать с базой прочитай про Syntax. А я пока попробую наваять тебе запросы Добавлено @ 18:31 Так же SQLite сам генерит ID для просмотра тебе надо написать например: select *,ROWID from ..... итд. Добавлено @ 18:35 Когда добавляешь NULL вместо ключа, он генерится автоматом. Вот так это надо делать:
|
|||
|
||||
| Coocky |
|
||||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
Спасибо!
Не веришь, как я горю с проектом Поэтому и пользуюсь этим топиком, в своих целях, а заодно и для других. Кстати я тоже не стою на месте, и уже знаю ответы на многие вопросы при работе с SQLite в среде МФС ( а проблем хватает!), но они уже решены.. Кстати, насчет скорости, сложные запросы еще не делал, а вот код при создании базы и таблиц немного подвисат. Не сильно, на секунду. но все же. Но думаю это в порядке вещей.. Добавлено @ 22:00
Вообще-то callback-нормальный вариант, хотя немного неудобный, для каждого запроса(который отличается от предыдущего) приходится добавлять новую фукнцию, если я хочу присвоить другим переменным даные, хотя написав сво класс от этого можно избавится.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
||||
|
|||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
sergej.z
а пример твой не рабочий... Добавлено @ 11:03 А вот если NULL убрать, то рабочий.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Vatel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2005 Репутация: нет Всего: нет |
Добрый день, пробовал компилировать helloword'ик, у меня не вышло.
Компилятор Borland C++ v.5.02 выдал такой вот Message Info :Compiling D:\SQLProject\gendb.c Warn : gendb.c(95,2):Parameter 'argc' is never used Warn : gendb.c(76,2):'rc' is assigned a value that is never used Warn : gendb.c(103,2):Parameter 'NotUsed' is never used Warn : gendb.c(105,2):Undefined structure 'sqlite3' Warn : gendb.c(105,2):Undefined structure 'sqlite3_stmt' Warn : gendb.c(105,2):Undefined structure 'sqlite3_context' Warn : gendb.c(105,2):Undefined structure 'Mem' Info :Linking D:\SQLProject\gendb.exe Error: Error: Unresolved external '_sqlite3_open' referenced from D:\SQLPROJECT\GENDB.OBJ Error: Error: Unresolved external '_sqlite3_errmsg' referenced from D:\SQLPROJECT\GENDB.OBJ Error: Error: Unresolved external '_sqlite3_exec' referenced from D:\SQLPROJECT\GENDB.OBJ Error: Error: Unresolved external '_sqlite3_close' referenced from D:\SQLPROJECT\GENDB.OBJ Подскажите в чем загвостка Это сообщение отредактировал(а) Vatel - 7.8.2005, 06:45 |
|||
|
||||
| sergejzr |
|
||||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Да, autoincrement не нужен NULL Vatel, пишет ведь,
Я вверху уже писал, что *.с файлы надо добавлять в проект отдельно.
В Бильдере естественно это не FileView , но в меню возможность добавки файлов конечно же имеется. Для начала попробуйте запустить с ДЛЛь
Сама sqlite3.dll должна лежать там же, где проект или в windows\system PS: Прицепил обновлённый файл примера. |
||||||||
|
|||||||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Ув. Vatel, когда скомпилите проект, выложите плиз helloword'ик сюда для примера
|
|||
|
||||
| Vatel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2005 Репутация: нет Всего: нет |
Добрый день, попробовал запустить исходничек с Dll, заработало.
Делал так: Создавал директорию, туда сбрасывал примерчик от 7.8.2005, 13:34 и Dll'ку. (больше ничего делать не пришлось) Сейчас сижу разбираюсь, вот состряпал по аналогии свой helloWorld'ик. прога перебирающая все html-файлы в директории на основе их сама заполняет БД, Можно вводить SQL - запросы с консоли результаты будут выводится в файл в html - формате.
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Прекрасно! Рад, что получилось
Всё же попробуйте статиком скомпилить, чтобы длльку не таскать за собой (в этом конечно большое преимущество SQLite) |
|||
|
||||
| Vatel |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 6.8.2005 Репутация: нет Всего: нет |
Добрый день, пытался более подробно разобраться с
примерчиком от 7.8.2005, 13:34 и наткнулся на такие строки
я так понял это описание ползовательского типа данных, но оно какоето непонятное, вот если бы я увидел нечто вроде
то до меня бы дошло, а вот
ни как в голове не укладывается. Обьясните плиз чего это значит то (или хотябы ссылку на доки дайте). Это сообщение отредактировал(а) Vatel - 11.8.2005, 13:17 |
||||||
|
|||||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Непрозрачная структура. Просто обьявление, что такой тип данных где то в программе определён.
Так как поля этой структуры не используются в нашем коде, их и не нужно определять. Мы пользуемся функциями возвращающими этот указатель и передаём его опять же в функции. Самим указателем мы не пользуемся. PS: это как обьявление:
|
|||
|
||||
| patison |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Здравствуйте!
Скачал я архив с хидерами и .c-файлами. Но подключать всё это к проекту, по некоторым причинам, не очень удобно. Если я правильно понял, я могу не подключать к своему проекту все .h и .c, а могу использовать dll, из предложенного архива. Объясните пожалуйста, как мне прилинковать функции из длл к проекту. (надеюсь, прально выразился Спасибо за помощь |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Выше находится пример кода с описанием и комментами. Необходимо будет только в проекте только sqlite.h. ДЛЛ динамически подгружается во время работы программы.
Кстати не уверен точно, но вроде бы в этой теме архив цеплял с работающим примером даже. |
|||
|
||||
| patison |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Спасибо, Сергей! Я действительно не обратил внимание на приведенный выше пример. Теперь всё работает!
|
|||
|
||||
| wotker |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: нет Всего: 5 |
Хочу вытащить некоторые поля из базы данных firefox-а. ее имя mozStorage.db.
rc = sqlite3_open("mozStorage.db", &db); rc = sqlite3_exec(db, "SELECT Title, FROM moz_history;", callback, 0, &zErrMsg); Появляются след. вопросы: mozStorage не виден. rc равен нулю. тоесть создается новая db. Вопрос такой: как узнать что создается новая база данных, а не используется старая? И как увидеть список всех баз данных на компьютере? --------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Вы должны понимать, что база данных SQLite - обыкновенный файл. Поэтому список всех баз на компьтере можно получить толъко проверив последовательно каждый файл на диске на наличие формата SQLite. Надо указывать полный путь к файлу |
|||
|
||||
| sergex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.2.2008 Репутация: нет Всего: нет |
Спасибо всем кто написал данный топик, который мне очень помог, благодаря ему разобрался в азах работы с sqlite . В ходе работы возник вопрос: есть БД в которой 2 таблицы table1 и table2, опишите в двух словах как можно осуществить поиск по базе в общем и для каждой таблицы в частности и как можно обработать результать.
Это сообщение отредактировал(а) sergex - 20.2.2008, 22:35 |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
||||
|
||||
| sergex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.2.2008 Репутация: нет Всего: нет |
В ссылке я разглядел режим создания, добавления и удаления забисей в БД
Интересует описание функции которая возвращала бы список всех таблиц в базе, а так функции которая бы искала определенное значение в определенном столбце определенной таблицы и возвращала строку результата из этой таблийцы, предполагаю что это можно сделать через функцию sqlite3_exec но какие передавать при этом параметры не соображу. |
|||
|
||||
| sergejzr |
|
||||||||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Вообще всё, что может API описано в примере. Остально делается с помощью SQL
Это возвратит названия всех таблиц в базе.
Это? |
||||||||
|
|||||||||
| sergex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.2.2008 Репутация: нет Всего: нет |
Получается описание функции которая возвращала бы список всех таблиц в базе выглядит так?
а результат находится в функции callback? Тогда вопрос - результат запроса SELECT * FROM sqlite_master WHERE type = "table" представляет собой массив строк находящийся в массиве rows функции callback ? |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
да. Можно распечатать и посмотреть. Но мой совет не пользоваться callback, а троицей prepare/step/finalize это удобнее и более контролируемо. В примере это показано после коммента "//произведём SELECT способом 2:" |
|||
|
||||
| sergex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.2.2008 Репутация: нет Всего: нет |
Спасибо за быстрый и содержательный ответ.
Ушел учить синтаксис SQL запросов |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
A SQLite с блобами дружит?
|
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
SQLite дружит исключительно со строками. Если желаете хранить БЛОБ, надо будет сперва байты кодировать например в base64 и при получении раскодировать обратно (можно конечно свой обработчик подвесить и облегчит часть процессов). |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Добавлено через 57 секунд Есть ли готовые классы для работы с SQLite? |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 3 Всего: 23 |
Это пойдёт?
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 1 Всего: 50 |
Сейчас гляну. |
|||
|
||||
| needDrivers |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 12.5.2009 Репутация: нет Всего: нет |
Кто-нибудь пробовал пересобрать amalgamation с опцией SQLITE_ENABLE_UPDATE_DELETE_LIMIT?
Я не смог найти информации от том, как они собирают всё в один большой файл? |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |