Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Вниз

работа TQuery.OnUpdateRecord   Найти похожие ветки 

 
Вольный Стрелок   (2003-12-12 11:16) [0]

Не пойму в чем дело: судя по описанию, этот обработчик должен вызываться для каждой модифицированной записи. Так и происходит.
Вот только текущая запись в передаваемом ему параметром DataSet"е не меняется.
Как же определить, какую запись обрабатывать?


 
Sandman25   (2003-12-12 11:20) [1]

Смотрите DataSet.FieldByName(..).OldValue и NewValue


 
Вольный Стрелок   (2003-12-12 11:24) [2]

я имел ввиду номер текущей записи - не меняется


 
Sandman25   (2003-12-12 11:28) [3]

Не надо идентифицировать данные по номеру записи. У Вас в данных нет уникального ключа?


 
Вольный Стрелок   (2003-12-12 11:32) [4]

Я по нему и смотрю.
И на всех записях он одинаковый. Это в тупик и ставит.


 
Sandman25   (2003-12-12 11:34) [5]

CashedUpdates = True?
Вызываете ApplyUpdates?


 
Вольный Стрелок   (2003-12-12 11:40) [6]

да, иначе как бы в обработчик попадал бы?
На входе в обработчик смотрю на первичный ключ и для каждой записи вижу одно и то же. Поэтому и определить, что за запись текущая, не могу.


 
Sandman25   (2003-12-12 11:42) [7]

Странно. Попробуйте поставить Use Debug DCU и потрассировать.


 
Вольный Стрелок   (2003-12-12 16:35) [8]

Спасибо. Понял, в чем была причина.
Действительно, надо обращаться к полям через OldValue и NewValue.
А обращение через DataSet.Fields[ 0 ]. AsInteger, например, ведет к описанной ситуации. Хотя почему ведет, не знаю :(


 
Sandman25   (2003-12-12 18:13) [9]

[8] Вольный Стрелок (12.12.03 16:35)

Дело в том, что для UpdateRecord создается новый Dataset, а не используется существующий. В этом новом DataSet находятся копии только тех записей, которые добавлялись/изменялись/удалялись. Но, в общем, Вы уже и сами разобрались :)



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

Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
14-25584
$hade
2003-12-17 07:33
2004.01.09
Samsung DVD-OK. Кто-нибудь сталкивался?


14-25543
dDan
2003-12-18 16:17
2004.01.09
Пара простеньких вопросов


1-25304
SoS
2003-12-22 18:35
2004.01.09
А где взять TSpinEdit ?


4-25651
Колян_К
2003-11-06 12:14
2004.01.09
Что делает mouse.destroy;


3-25228
AlexA
2003-12-11 10:13
2004.01.09
Возращение всех множеств в ХП





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский