![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BeforeUpdateRecord компоненты DataSetProvider [D7, MSSQL]
DimonNew © (2006-02-27 14:20:00)Как в случае модификации данных определить какие изменялись поля в этом событии?
Если поле не изменялась, то NewValue возвращает unassigned, который в случае, если поле integer, то unassigned равносилен 0. А если поле поменялось на ноль, то проверка
if field.NewValue=unassigned then
begin
end;
if field.NewValue=0 then
begin
end;
зайдет в обе ветки.
Так как же тогда првильно прверить, какие поля были изменены?
Desdechado (2006-02-28 17:25:00) [1]F1
DimonNew (2006-02-28 15:09:00) [2]А что содержиться в sourceDS? Весь набор данных или обновляемая строчка, как в DeltaDS?
Desdechado (2006-02-27 15:49:00) [3]сравнить данные в SourceDS и DeltaDS
или IsNull, IsEmpty, IsClear
Desdechado (2006-02-27 15:49:00) [4]сорри
VarIsNull, VarIsEmpty, VarIsClear
DimonNew (2006-02-27 14:29:00) [5]In the BeforeUpdateRecord event, you can see if a field has changed by using the
following code:
if not VarIsEmpty(DeltaDS.FieldByName('FieldName').NewValue) then
FieldHasChanged;