Сохранение данных в базу Access

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

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

Сохранение данных в базу Access

Сообщение Elena » 14.05.2012 12:14:39

Не могу понять почему не данные не сохраняются в базу.

Делаю все как в делфи

Код: Выделить всё
Form1.SQLQuery1.Insert; 


Потом сохраняю.
Код: Выделить всё
Form1.SQLQuery1.Post;


Пока идет выполнение проета данные отображаются на форме измененные, но после завершения в базе ничего не появляется и ничего не изменяется.
Elena
новенький
 
Сообщения: 29
Зарегистрирован: 02.05.2012 20:35:37

Re: Сохранение данных в базу Access

Сообщение Vadim » 14.05.2012 12:18:29

А после:
Elena писал(а):Form1.SQLQuery1.Post;

SQLQuery1.ApplyUpdate не пробовали применить? Там, наверное, дополнительная буферизация.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Сохранение данных в базу Access

Сообщение Elena » 14.05.2012 12:33:46

нет не пробовала. Теперь попробовала и все заработало!))
Спасибо!

Добавлено спустя 13 минут 36 секунд:
Это сработало при создании новой записи, а при удалении и редактировании ругается сильно и ничего не сохраняет.
При удалении и редактиоовании что-то другое надо писать?
Elena
новенький
 
Сообщения: 29
Зарегистрирован: 02.05.2012 20:35:37

Re: Сохранение данных в базу Access

Сообщение Vadim » 14.05.2012 13:38:56

Elena писал(а):При удалении и редактиоовании что-то другое надо писать?

А не могли бы Вы привести текст ругательства? Обычно этот текст сильно проясняет картину. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Сохранение данных в базу Access

Сообщение Elena » 14.05.2012 15:27:55

Проект вызвал класс исключений 'UpdateError' с сообщением:
An error occured while applying the updates in a record: SQLQuety1: No update query specified and failed to generate one. (No Fields for inclusion in where statement found)
Elena
новенький
 
Сообщения: 29
Зарегистрирован: 02.05.2012 20:35:37

Re: Сохранение данных в базу Access

Сообщение Vadim » 14.05.2012 16:13:54

Это говорит о том, что SQLQuery не может произвести команду UPDATE, т.к. соответствующее свойство компонента пусто.

В Дельфи изменением данных в сложных запросах занимался специальный компонент - UpdateSQL, который генерировал специальные запросы для вставки (INSERT), удвления (DELETE) и обновления (UPDATE) данных. У SQLQuery для этого существуют соответствующие свойства - InsertSQL, DeleteSQL и UpdateSQL, в которые нужно записать тексты запросов, которые всё это должны делать с редактируемой строкой данных. Если Вы не знаете, что в эти свойства писать, то сначала посмотрите, что сгенерирует для такого же запроса компонент UpdateSQL и скопируйте сгенерированные команды оттуда в соответствующие свойства SQLQuery.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Сохранение данных в базу Access

Сообщение Elena » 15.05.2012 16:32:22

А что за компонент UpdateSQL? Я такого не смогла найти(
Elena
новенький
 
Сообщения: 29
Зарегистрирован: 02.05.2012 20:35:37

Re: Сохранение данных в базу Access

Сообщение Little_Roo » 15.05.2012 16:59:24

Elena писал(а):А что за компонент UpdateSQL? Я такого не смогла найти(

В Zeos есть
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Сохранение данных в базу Access

Сообщение Elena » 17.05.2012 19:22:20

Наконец-то получилось установить Zeos. Нашла там компонент TZUpdateSQL.
Расскажите, пожалуйста, что теперь с ним делать, что бы получить эти самые сгенерированные коменды?
Elena
новенький
 
Сообщения: 29
Зарегистрирован: 02.05.2012 20:35:37

Re: Сохранение данных в базу Access

Сообщение Ism » 18.05.2012 01:03:45

Код: Выделить всё
ZQuery1.SQL.Text:='select id,str_ from new_table1'
ZQuery1.UpdateObject:=ZUpdateSQL1
ZUpdateSQL1.ModifySQL:='update new_table1 set str_=:str_ where id=:id'
ZUpdateSQL1.InsertSQL:='insert into new_table1 (id,str_) values (:id,:str_)'


:str_ это параметр содержащий значение столбца str_
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Сохранение данных в базу Access

Сообщение sign » 18.05.2012 04:35:07

А не проще SQL поучить?
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru