Sqlite + Zeos + Lazarus - поделитесь примером
Модератор: Модераторы
- Slavikk
- постоялец
- Сообщения: 208
- Зарегистрирован: 15.01.2007 21:34:52
- Откуда: Из лесов...
- Контактная информация:
Sqlite + Zeos + Lazarus - поделитесь примером
Поделитесь примером (создание таблицы, вставка данных, выборка) если не жалко. Заранее спасибо.
- Slavikk
- постоялец
- Сообщения: 208
- Зарегистрирован: 15.01.2007 21:34:52
- Откуда: Из лесов...
- Контактная информация:
Основы SQLite + стандартные пакеты Lazarus - http://www.espace-malin.fr/tutos/Laz_SQlite3_Natif.html.
Основы SQLite + ZEOS - http://www.espace-malin.fr/tutos/Laz_SQlite3.html.
Установка ZEOS и LAZARUS 0.9.23 (FPC 2.1.3 и выше) - http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&p=18297. Последний топик форума.
Основы SQLite + ZEOS - http://www.espace-malin.fr/tutos/Laz_SQlite3.html.
Установка ZEOS и LAZARUS 0.9.23 (FPC 2.1.3 и выше) - http://www.lazarus.freepascal.org/index.php?name=PNphpBB2&file=viewtopic&p=18297. Последний топик форума.
Это все понятно и без французов, но вот только мне не удалось получить в нормальном виде данные. Вроде бы все делал правильно:
установил компоненты SQLite, взял простую таблицу (тел. справочник), подцепил ее, привязал DataSource, грид соответственно к DS, активизировал и увидел в каждой ячейке грида: "memo". На ячейку становлюсь - появляется значение для редактирования, ухожу с нее - опять "memo". Что настроить в гриде или компонентах не нашел
Через tDBF все нормально показывается.
PS. Пока писал, сам догадался: это из-за того, что поля таблицы TEXT.
Поменял поле на VARCHAR, тут же SQLiteAdmin запросил размер поля. Ну а с типом VARCHAR грид показывает значения
Уряяя.
установил компоненты SQLite, взял простую таблицу (тел. справочник), подцепил ее, привязал DataSource, грид соответственно к DS, активизировал и увидел в каждой ячейке грида: "memo". На ячейку становлюсь - появляется значение для редактирования, ухожу с нее - опять "memo". Что настроить в гриде или компонентах не нашел
PS. Пока писал, сам догадался: это из-за того, что поля таблицы TEXT.
Поменял поле на VARCHAR, тут же SQLiteAdmin запросил размер поля. Ну а с типом VARCHAR грид показывает значения
Решил поработать первый раз с SQLite.
sqlite 3.6.5, ZEOS 6.6.3, Lazarus 0.9.27.
Создал простенькую табличку:
В DBGrid'е поле VARCHAR я вижу как (memo). Если (memo) стереть и написать своё значение то надпись меняется на (МЕМО).
Что надо сделать, чтобы вместо (МЕМО) я видел реальные значения, те, что я занёс?
sqlite 3.6.5, ZEOS 6.6.3, Lazarus 0.9.27.
Создал простенькую табличку:
CREATE TABLE tab1 (id INT PRIMARY KEY, name VARCHAR(20))
В DBGrid'е поле VARCHAR я вижу как (memo). Если (memo) стереть и написать своё значение то надпись меняется на (МЕМО).
Что надо сделать, чтобы вместо (МЕМО) я видел реальные значения, те, что я занёс?
Нда, видимо sqlite слишком сложная СУБД и никто не решается с ней работать. Придётся переключиться на что-нибудь более простое, например на MSSQL или Oracle... 
Одно из двух: или глюк данной версии Zeos или данной версии sqlite. У меня в Zeos 6.6.1 и sqlite 3.6.4 поля VARCHAR(50) определялись как строковые, а не как MEMO.
v-t-l
Это глюк Zeos 6.6.3.
Поставил 6.6.4 - там с отображением полей всё в порядке.
Добавлено спустя 10 минут 48 секунд:
А может быть ещё кто знает...
Sqldb+sqlite. Никогда раньше с Sqldb не работал, решил посмотреть, что за зверь.
Хочу сделать как в ZEOS, чтобы занёс данные через DBGrid, перешёл на следующую строку и данные бы сохранились. А то пока приложение открыто, данные есть, как только закрываю, эти данные пропадают, видимо транзакция их не зафиксировала.
Может быть что-то надо изменить, какую-нибудь опцию в SQLite3Connection или SQLTransaction? Чешу тыковку, но что надо - понять не могу...
sqlite 3.6.5, Lazarus 0.9.27 2008-11-21, fpc 2.2.2.
Это глюк Zeos 6.6.3.
Добавлено спустя 10 минут 48 секунд:
А может быть ещё кто знает...
Sqldb+sqlite. Никогда раньше с Sqldb не работал, решил посмотреть, что за зверь.
Хочу сделать как в ZEOS, чтобы занёс данные через DBGrid, перешёл на следующую строку и данные бы сохранились. А то пока приложение открыто, данные есть, как только закрываю, эти данные пропадают, видимо транзакция их не зафиксировала.
Код: Выделить всё
object SQLTransaction1: TSQLTransaction
Active = True
Action = caCommit
Database = SQLite3Connection1
end
object SQLite3Connection1: TSQLite3Connection
Connected = True
DatabaseName = 'd:\progs\projects\temp\sqlite\mybase.dat'
Transaction = SQLTransaction1
Options = [sloTransactions]
end
Может быть что-то надо изменить, какую-нибудь опцию в SQLite3Connection или SQLTransaction? Чешу тыковку, но что надо - понять не могу...
sqlite 3.6.5, Lazarus 0.9.27 2008-11-21, fpc 2.2.2.
