Главная страница
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.056 c
14-1121326554
Kolan
2005-07-14 11:35
2005.08.07
Пора оновлять этот сайт.


14-1121751761
Leya
2005-07-19 09:42
2005.08.07
Изменить расширение


11-1103676436
Solo
2004-12-22 03:47
2005.08.07
Опять про подсветку в RichEdit


11-1104078035
SPeller
2004-12-26 19:20
2005.08.07
Судьба рассылки "Новости KOL & MCK" на Subscribe.ru


3-1119858508
Mamed
2005-06-27 11:48
2005.08.07
Report and Unicode