Главная страница
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.023 c
3-20429
cjiohobaji
2003-07-17 06:37
2003.08.07
проверка связи


3-20380
AkaSaint
2003-07-14 18:15
2003.08.07
Как в ADOTable обновить из БД только одну запись?


14-20773
J_S
2003-07-21 16:48
2003.08.07
POP3-вьювер


1-20567
Дмитрий_Б
2003-07-23 13:31
2003.08.07
Вопрос по QReport


14-20723
Kair
2003-07-19 19:04
2003.08.07
Электромагнит