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

Вниз

TDataSetProvider.OnUpdateError: в DataSet нет ключевого поля   Найти похожие ветки 

 
AkaSaint ©   (2003-07-15 21:22) [0]

Сабж! Ситуация: 2 клиента изменяют одно и то же поле в одной записи. Хочу в обработчике события сабж сделать в исходной таблице Locate по ключевому полю из DataSet и перечитать запись с жесткого диска, но в DataSet значени ключевого поля - Null! Что думаете по этому поводу?


 
sniknik ©   (2003-07-15 22:12) [1]

неплохо былобы еще раз и по русски. (just my think)


 
AkaSaint ©   (2003-07-16 01:27) [2]

Да, довольно сумбурно получилось... :) Попробую по-русски. Есть 3-звенное приложение. Если 2 клиента изменяют одно и то же поле в одной записи, то при выполнении метода ApplyUpdates вторым клиентом произойдет ошибка обновления - так и должно быть - и будет вызван обработчик TDataSetProvider.OnUpdateError, в который в качестве одного из параметров под именем DataSet передается набор данных, текущая запись которого является той, которую прислал второй клиент и которая вызвала ошибку обновления. Я хочу считать из БД тот вариант записи, который туда записал первый клиент, для этого мне нужно позиционироаться на эту запись (используя Locate и ключ из DataSet - ведь ключ не меняется в моем случае) и перечитать ее с жесткого диска. Но, т.к. почему-то DataSet.FieldByName("ClientNum").Value оказывается Null, Locate не выполняется и запись не перечитывается... :-)



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.026 c
1-20574
Bosso
2003-07-24 10:48
2003.08.07
Изменение размеров шрифта


1-20462
Bosh
2003-07-23 05:53
2003.08.07
TiniFiles


1-20493
deadcdrom
2003-07-25 07:22
2003.08.07
DLL


4-20852
Игорь
2003-06-06 00:09
2003.08.07
Изменить имя окна в панели задач?


3-20422
RomanRom2
2003-07-15 16:26
2003.08.07
Скопировать таблицу