Форум: "Corba";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизTDataSetProvider.OnUpdateError Найти похожие ветки
← →
val_5 © (2003-11-12 15:11) [0]Имеется DataSetMaster(это TSQLDataSet) и подклученный к нему (через TDataSource) DataSetDetail. К TDataSetProvider подключен DataSetMaster. Вопрос - как в TDataSetProvider.OnUpdateError определить - при работе с каким dataset-ом, главным или детальным, произошла ошибка.
← →
val_5 © (2003-11-13 17:05) [1]Я нашол решение. В параметре DataSet ( который передается в TDataSetProvider.OnUpdateError ) берем DataSet.DataSetField :
IF DataSet.DataSetField = nil then
ошибка произошла при Update записей из DataSetMaster,
ссылка на него это TDataSetProvider(Sender).DataSet
ELSE
ошибка произошла при Update записей из DataSetDetail,
его имя (TDataSet.Name) содержится в DataSet.DataSetField.FieldName !
НО КАК ОПРЕДЕЛИТЬ ССЫЛКУ НА НЕГО ?
Можно предположить что у DataSetMaster и DataSetDetail один и тот же Owner, тогда :
OwnerSourceDataSet:=TDataSetProvider(Sender).DataSet.Owner;
for I:=0 to OwnerSourceDataSet.ComponentCount - 1 do
if ( OwnerSourceDataSet.Components[I] is TDataSet ) and
( OwnerSourceDataSet.Components[I].Name = DataSet.DataSetField.FieldName ) then begin
SourceDataSet:=TDataSet(OwnerSourceDataSet.Components[I]);
Break;
end;
НО МОЖЕТ МОЖНО КАК ТО ПРОЩЕ ???
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.035 c