Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: 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 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
3-1119874036
bigcrush
2005-06-27 16:07
2005.08.07
Запрос удаления повторяющихся данных на SQL


14-1121514195
Экспериментатор
2005-07-16 15:43
2005.08.07
Как написать скриптик на VB, который бы


1-1121866249
тов. Постников
2005-07-20 17:30
2005.08.07
Как разместить кнопки на панели?


14-1121313682
__DATA__
2005-07-14 08:01
2005.08.07
Отправка смс сообщения на билайн.


10-1098522753
Bend
2004-10-23 13:12
2005.08.07
QuickReport => Word