Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.023 c
14-1100472710
Поручик
2004-11-15 01:51
2004.12.05
Для тех, кому слово X-COM о чем-то говорит.


3-1099915106
SergP
2004-11-08 14:58
2004.12.05
Как узнать находится ли dataset в режиме insert или edit?


1-1101048113
Dyusha
2004-11-21 17:41
2004.12.05
Текст в Memo


1-1100686685
Ascan
2004-11-17 13:18
2004.12.05
Отмена переноса слов по "-" в TWebBrowser


1-1101109369
Chery
2004-11-22 10:42
2004.12.05
Не работают функции на сервере при Borland Socket - служба.