![]() |
|
![]() ![]() ![]() |
|
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) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C++: Базы данных" | |
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |