![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сделать обновление данных? [D6, IB6.x]
Сказочник © (2004-04-21 15:27:00)как сделать обновление данных на всех клиентах после add, update, delete?
bushmen (2004-04-21 17:20:00) [1]>если делаю close и open вставляется по 2 записи!
Хм, а DataGrid прикручен случайно не к IBQuery1 ?
Тогда надо сначала в IBQuery1 запихнуть строчку типа 'select * from table1' А потом уже делать Open
stud (2004-04-21 17:05:00) [2]после енд
ibquery1.close;
ibquery1.sql.text:='select * from client';
ibquery1.open;
Соловьев (2004-04-21 17:03:00) [3]
> Сказочник (21.04.04 16:35) [39]
почему ты не хочешь глянуьб демки из делфи? там по IBX - нормальные примеры.
Johnmen (2004-04-21 16:50:00) [4]>Курдль © (21.04.04 16:14) [27]
>Ну тарды и вправду лучше сделать ему сначала .Close, а потом - .Open
Автору лучше сделать только Close. И забыть обо всём...:)
>Сказочник
"Перед смертью не надышишься" (с)
Сказочник (2004-04-21 16:35:00) [5]Купи книжку "Мир InterBase", кучу времени съекономишь.
Блин у меня диплом горит, да я и думаю у нас её вряд ли купишь, в Томске, но всё равно спасибо за совет!
dimm22 (2004-04-21 16:32:00) [6]
> если делаю close и open вставляется по 2 записи!
Купи книжку "Мир InterBase", кучу времени съекономишь.
Курдль (2004-04-21 16:30:00) [7]
> Курдль © (21.04.04 16:24) [33]
Фигню я какую-то написал :))) Пойду напьюсь, а то совсем вы меня запутали! :)
dimm22 (2004-04-21 16:28:00) [8]
> если делаю close и open вставляется по 2 записи!
Гы, гы. Ну я ж говорю, читай о IBDataSet, а то ты так и не поймёшь о чём речь идёт.
Сказочник (2004-04-21 16:27:00) [9]После ExecSQL; но перед end; Надеюсь, в DataSource грида прописан именно IBQuery1. конечно!
Сказочник (2004-04-21 16:25:00) [10]если делаю close и open вставляется по 2 записи!
Курдль (2004-04-21 16:24:00) [11]Ладно, в Вашем коде
with Form1.IBQuery1 do begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO CLIENT (F_NAME, L_NAME, M_NAME, PASSPORT_SERIAL,');
SQL.Add('PASSPORT_NUMBER, PASSPORT_DATE, PASSPORT_PLACE, BIRTHDAY, ADRESS,');
SQL.Add('PHONE, COMMENT)');
SQL.Add('VALUES (:F_NAME, :L_NAME, :M_NAME, :PASSPORT_SERIAL,');
SQL.Add(':PASSPORT_NUMBER, :PASSPORT_DATE, :PASSPORT_PLACE, :BIRTHDAY, :ADRESS,');
SQL.Add(':PHONE, :COMMENT)');
Params[0].AsString:=f_name.Text;
Params[1].AsString:=l_name.Text;
Params[2].AsString:=m_name.Text;
Params[3].AsString:=serial_p.Text;
Params[4].AsString:=number_p.Text;
Params[5].AsDate:=date_p.Date;
Params[6].AsString:=place_p.Text;
Params[7].AsDate:=birthday.Date;
Params[8].AsString:=adress.Text;
Params[9].AsString:=phone.Text;
Params[10].AsString:=comment.Text;
ExecSQL;
end;
добавьте
Open;
После ExecSQL; но перед end; Надеюсь, в DataSource грида прописан именно IBQuery1.
Соловьев (2004-04-21 16:24:00) [12]
> Курдль © (21.04.04 16:21) [31]
о том что если он транзакцию не подтвердит - никто не увидит его изменений.
Курдль (2004-04-21 16:21:00) [13]
> Сказочник (21.04.04 16:12) [25]
> Соловьев
> (И в событии AfterPost: IBTransaction.CommitRetaining;)
> эти события у IBQuery?
Вы оба ващще о чем?!! Увлеклись? Какие транзакции? Какие события? :)
Сказочник (2004-04-21 16:19:00) [14]Курдль © (21.04.04 16:14) [27]
> У гридов прописан DataSource? да IBQuery
Не может быть! Должен быть какой-нить объект типа TDataSource. да бес попутал TDataSource там прописаны!
Соловьев (2004-04-21 16:16:00) [15]
> эти события у IBQuery?
да
Курдль (2004-04-21 16:14:00) [16]
> У гридов прописан DataSource? да IBQuery
Не может быть! Должен быть какой-нить объект типа TDataSource.
> Делаю, например IBQuer.refresh после execSQL(см. в примере
> выше), вылезает ошибка: cannot perform this operation on
> a closed dataset
Ну тарды и вправду лучше сделать ему сначала .Close, а потом - .Open
stud (2004-04-21 16:14:00) [17]только между end и ibquer должен произойти commit
stud (2004-04-21 16:13:00) [18]
> Params[8].AsString:=adress.Text;
> Params[9].AsString:=phone.Text;
> Params[10].AsString:=comment.Text;
> ExecSQL;
> end;
IBQuer.close;
IBQuer.open;
Сказочник (2004-04-21 16:12:00) [19]Соловьев
(И в событии AfterPost: IBTransaction.CommitRetaining;)
эти события у IBQuery?
Соловьев (2004-04-21 16:09:00) [20]
> Сказочник (21.04.04 16:03) [21]
read_committed
rec_version
nowait
И в событии AfterPost: IBTransaction.CommitRetaining;