Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Внизкак правильно пользовать OnBeforeUpdateRecord Найти похожие ветки
← →
hva (2004-02-11 17:20) [0]procedure TObjects.dspDataBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
...
if UpdateKind=ukModify
then begin
//в obj1 изменено значение
tmp := DeltaDS.FieldByName("obj1").AsInteger;
//obj2 не менялось поэтому следующее не работает
//возвращает null
tmp1 := DeltaDS.FieldByName("obj2").AsInteger;
//а так вообще молча отваливается
//tmp1 := SourceDS.FieldByName("obj2").AsInteger;
end
все работает если принудительно изменять значение obj2
например: на клиенте obj2 := obj2 + 1
а на сервере obj2 := obj2 - 1 результат не меняется но зато obj2 попадает в пакет.
Вопрос как принудительно засунуть поле в пакет для обновления либо надо как-то использовать SourceDS? А может что еще там?
← →
Academic (2004-02-11 17:40) [1]Проверка
If Not VarIsNull(DeltaDS.FieldByName("obj2").NewValue)
// - Значение изменено
← →
Sandman25 (2004-02-11 17:45) [2]Intervening as updates are applied
в Developing Database Applications содержит хорошее описание и пример
← →
hva (2004-02-12 09:39) [3]DeltaDS.FieldByName("obj2").OldValue содержит значение
Спасибо, все получилось
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.017 c