Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизПочему 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c