Вниз
Скачать: CL | DM;

Почему Table is read only   Найти похожие ветки 

 
Валерий   (2005-06-28 15:10) [0]

На форме : Query, в нем SQL.text :
select treaty_id, treaty_num from treaty_arenda.
В таблице одно ключевое поле, identity нет.
В Query поставлено RequestLive и CachedUpdates в true.
В SQLUpdates на Modyfi все сформировано корректно: одно ключевое поле, одно для редактирования.
Редактирую в Gride поле, и стрелкой вниз .
OnAfterPost стоит Query1.ApplyUpdates; а
OnUpdateRecord - UpdateSQL1.Apply (UpdateKind);
Вот на этой последней строке оно и вырубается при нажатии стрелки

В UpdatesSQL на Modify имею:

update treaty_arenda
set
treaty_num = :treaty_num
where
treaty_id = :OLD_treaty_id

В процедурках:

procedure TForm1.FormShow(Sender: TObject);
begin
Query1.Open;
end;

procedure TForm1.Query1AfterPost(DataSet: TDataSet);
begin
Query1.ApplyUpdates ;
end;

procedure TForm1.Query1UpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
UpdateSQL1.Apply (UpdateKind);
end;

Причем UpdateKind = ukModify !!!

и строку она эту UpdateSQL1.Apply (UpdateKind); проходит
а вырубается только на END;
с сообщением table is read only
Уважаемые знатоки, что я делаю неправильно, объясните пожалуйста начинающему осваивать Delphi.


 
Johnmen ©   (2005-06-28 15:19) [1]

>Вот на этой последней строке оно и вырубается при нажатии стрелки

Ну да. Она же бессмысленна, и просто вредна...:)


 
Валерий   (2005-06-28 15:22) [2]

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


 
Валерий   (2005-06-28 15:29) [3]

Johnmen:
Пробовал без UpdateSQL1.Apply (UpdateKind);
вырубается уже на Query1.ApplyUpdates, т е раньше, причем в этом случае та же ошибка и кроме того реально НЕ редактирует


 
evvcom ©   (2005-06-29 08:30) [4]


> т е раньше

Не раньше. Просто у тебя в этом случае нет твоего кода, выполняющегося между ApplyUpdates и ошибкой, а в первом случае был.

> несмотря на ошибку поле редактируется

А я уж хотел предложить посмотреть не ReadOnly ли файл?


 
Валерий   (2005-06-29 09:32) [5]

Похоже, что достаточно только Query1.ApplyUpdates без
SQLUpdates1.Apply(UpdateKind).Да и нельзя его ставить после поста. Повесил его на кнопку - все срабатывает даже без компонента SQLUpdates (таблица в нем всего одна), лишь бы Query был кешируемый.


 
Johnmen ©   (2005-06-29 09:39) [6]

Про работу с кешируемыми НД очень подробно и с примерами написано в F1. Странно, что ты начал не с неё...:)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
14-1121275013
Soft
2005-07-13 21:16
2005.08.07
Стадарт RFC3251(Electricity over IP)


4-1118417059
Earth
2005-06-10 19:24
2005.08.07
Перезагрузка, выключение, выход из системы.


6-1114407484
GooGoo
2005-04-25 09:38
2005.08.07
Автозаполнение в FireFox


3-1120213299
reticon
2005-07-01 14:21
2005.08.07
Добавление новой записи - Invalid variant type convertion


1-1121323132
Erik1
2005-07-14 10:38
2005.08.07
Правильное ожидание для завершения потока?




   Наверх