Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление записи в БД [MySQL]


Its ©   (2004-10-27 12:32:00) 

Подскажите после добавления записи в БД записи нет
После закрытия приложения и открытия приложения  запись есть
procedure TForm1.Query1AfterInsert(DataSet: TDataSet);
.......
Query1.SQL.Add('Insert Into Pers (Dep,Fam,Nam,Par,Year_In,Date_Ot,End_Otp,Remark) Values( :PDep, :PFam, :PNam, :PPar, :PYear_In, :PDate_Ot, :PEnd_Otp, :PRemark)');
........
........
Query1.ExecSQL;
Query1.Close;
Query1.Open;


Anatoly Podgoretsky   (2004-10-27 12:56:00) [1]

На самом деле еще хуже, запись будет добавлятся (пытаться) два раза. Ошибка будет обязательно, вне зависимости от ограничений.


ЮЮ   (2004-10-27 12:49:00) [2]

> Query1.Open;
> а это зачем?

Чтобы спросить, почему появляется ошибка, а запись добавляется :)

Query1.ExecSQL добавит запись в таблицу на сервере, но это невозможно заметить на клиенте в уже открытом DataSete без его обновления. Чтобы изменения вносильсь сначала в DataSet на клменте, а затем в таблмцы на сервере, е него (DataSeta) есть методы Insert и Post


clickmaker   (2004-10-27 12:39:00) [3]


> Query1.Close;
> Query1.Open;

а это зачем?
и как определяешь: есть запись или нет?


Наверх

Титульная страница Поиск, карта сайта Написать письмо