Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.017 c
1-20553
Fiend
2003-07-23 15:24
2003.08.07
Drag&Drop with my Image


4-20859
Dmk
2003-06-01 01:28
2003.08.07
Как перечислить все окна над моим?


14-20706
Rouse_
2003-07-15 01:06
2003.08.07
Мастера улыбаются - 3


1-20494
js
2003-07-25 09:30
2003.08.07
почему появляется ошибка если использовать TListView


1-20625
Zhuchok
2003-07-25 01:53
2003.08.07
TaskBar




   Наверх