Lazarus + Sqlite

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Lazarus + Sqlite

Сообщение DYUMON » 17.11.2011 18:23:49

Доброго всем времени суток. Такое дело . Решил попробовать написать небольшую БД на Lazarus . вообще пишу на delphi но тут вот захотел попробовать продукт. Сделала базу для sqlite все таблицы создал. И вот в чем проблемма. добавляю в базу запись при использовании select она отображатеся однако если выйди из программы и зайти вновь то она исчезает. разобрался что надо добавить
Код: Выделить всё
SQLTransaction1.Commit;

хотя когда писал для sqlite в delphi то с этим проблем не было. Подскажите действительно ли надо делать коммиты после каждого добавления или же можно как то это обойти? и еще маленький подвопросик . Есть ли в lazarus аналог SqlTable ?
Аватара пользователя
DYUMON
постоялец
 
Сообщения: 234
Зарегистрирован: 11.03.2009 13:32:54

Re: Lazarus + Sqlite

Сообщение Nik » 17.11.2011 23:16:17

2DYUMON
Commit после Insert или Update делать обязательно. Если вы добавляете несколько строк за один приём, то лучше делать Commit после всех операций в рамках транзакции - так будет быстрее.

Что-то похожее на таблицы есть в Lazarus-SQLite.
Аватара пользователя
Nik
энтузиаст
 
Сообщения: 573
Зарегистрирован: 04.02.2006 00:08:09
Откуда: Киров

Re: Lazarus + Sqlite

Сообщение v-t-l » 18.11.2011 10:57:04

DYUMON писал(а):действительно ли надо делать коммиты после каждого добавления или же можно как то это обойти?
Код: Выделить всё
procedure TForm1.SQLite3Connection1BeforeDisconnect(Sender: TObject);
begin
  (Sender as TSQLConnection).Transaction.Commit;
end;

Но, если связь с бд пропадет до корректного завершения соединения, то транзакция будет откачена и изменения пропадут. Поэтому надежней
Код: Выделить всё
procedure TForm1.SQLQuery1AfterPost(DataSet: TDataSet);
begin
  ((DataSet as TSQLQuery).DataBase as TSQLConnection).Transaction.CommitRetaining;
end;
v-t-l
энтузиаст
 
Сообщения: 741
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 225

Рейтинг@Mail.ru
cron