sqlite

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

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

sqlite

Сообщение alaken » 12.06.2012 21:34:48

Проблема с сохранением данных в базу sqlite3. Вроде считывать считывает но не сохраняет в базу данных, может я не так им пользуюсь?

Код: Выделить всё
Sqlite3Dataset1: TSqlite3Dataset;
...
if
   DM.Sqlite3Dataset1.Locate('key', 'Sourname',[loCaseInsensitive])
then
begin
   DM.Sqlite3Dataset1.Edit;
   DM.Sqlite3Dataset1.FieldByName('Value').AsString := Edit2.Text;
   DM.Sqlite3Dataset1.Post;
end;

DM.Sqlite3Dataset1.ApplyUpdates;


пример:
SQLite3Test.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: sqlite

Сообщение Ism » 12.06.2012 22:10:26

Нужно настроить работу с транзакциями, в лазарусовских компонентах нужно явно делать коммит.
Пример базы sqlite http://code.google.com/p/besbashstat/so ... vn%2Ftrunk
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: sqlite

Сообщение alaken » 12.06.2012 22:27:38

пощупать не удалось, проект по ссылке для линукса...
есть рабочий пример для винды?

Добавлено спустя 10 минут 39 секунд:
в принципе разобрался, исправил проект, действительно работает.
SQLite3Test.7z


так я тоже пробовал но проект вылетал с ошибкой, что база занята... видимо менеджер базы монопольно открывает базу на запись.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: sqlite

Сообщение Padre_Mortius » 12.06.2012 22:48:28

так я тоже пробовал но проект вылетал с ошибкой, что база занята... видимо менеджер базы монопольно открывает базу на запись.

При таком обращении вы блокируете полностью таблицу, для того, чтобы такой ошибки не было нужно использовать транзакции и SQL-запросы
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 238

Рейтинг@Mail.ru