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

Вниз

проверка изменения значения поля   Найти похожие ветки 

 
DZM   (2013-09-05 18:19) [0]

как в событии OnClick кнопки узнать, изменялось ли значение одного из полей в промежутке между DataSetX.Edit и DataSetX.Post;


procedure TForm1.ButtonXClick(Sender: TObject);
begin
 if Если значение поля FieldX изменялось then
   FieldX.AsString := CheckFieldXValue(FieldX.AsString);
 DataSetX.Post;
end;


 
Jeer ©   (2013-09-05 18:21) [1]

Нельзя отдавать на редактирование одно и то же поле (запись) разным юзерам.


 
Плохиш ©   (2013-09-05 18:30) [2]


Die Eigenschaft NewValue repräsentiert den aktuellen Wert der Feldkomponente einschließlich der anstehenden zwischengespeicherten Aktualisierungen.

Delphi-Syntax:

property NewValue: Variant;

C++ Syntax:

__property System::Variant NewValue = {read=GetNewValue, write=SetNewValue};

Beschreibung

Mit NewValue können Sie den aktuellen Wert eines Feldes ermitteln oder ändern, während mehrere Aktualisierungen eingetragen werden. Wenn durch den aktuellen Feldwert beim Eintragen der Aktualisierungen ein Problem (z.B. ein Indexfehler) verursacht wird, erzeugen Provider-Komponenten das Ereignis OnUpdateError. Entsprechend generieren Provider das Ereignis OnUpdateError, wenn beim Eintragen der Datensätze von einem Client Probleme auftreten. Die Client-Datenmengen erzeugen das Ereignis OnReconcileError, wenn sie durch den Provider von Problemen benachrichtigt werden. Weisen Sie zur Korrektur des Problems in der Ereignisbehandlungsroutine NewValue einen neuen Wert zu.

Die Werte von NewValue und Value sind identisch, wenn während des Eintragens von Datensätzen keine Fehler auftreten. Wird NewValue in einer OnUpdateError-, OnUpdateRecord- oder OnReconcileError-Ereignisbehandlungsroutine zugewiesen, unterscheiden sich die Werte NewValue und Value, bis die Datensätze vollständig in der zugrunde liegenden Datenbanktabelle eingetragen sind.

Hinweis: Die Eigenschaft NewValue kann nur verwendet werden, wenn mit der Komponente TClientDataSet auf die Daten zugegriffen wird oder zwischengespeicherte Aktualisierungen genutzt werden.


 
DZM   (2013-09-05 18:38) [3]

Так пытался проверять:


if DataSetX.FieldByName(const_field_x).NewValue <>
 DataSetX.FieldByName(const_field_x).OldValue then
 MessageBox(0, "was changed!", "", 0)
else
 MessageBox(0, "wasn"t changed!!", "", 0);


но почему-то всегда NewValue = OldValue


 
DZM   (2013-09-05 18:40) [4]

оба = NULL


 
Dennis I. Komarov ©   (2013-09-05 20:07) [5]

в 17-ой строке ошибка



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

Форум: "Начинающим";
Текущий архив: 2014.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.027 c
15-1387088458
SKIPtr
2013-12-15 10:20
2014.07.06
как переслать письмо из рамблера


15-1386322461
Пит
2013-12-06 13:34
2014.07.06
система контроля версий для БД


2-1378360486
Елена
2013-09-05 09:54
2014.07.06
Курсор в stringgrid


15-1387485002
Юрий
2013-12-20 00:30
2014.07.06
С днем рождения ! 20 декабря 2013 пятница


2-1378365351
lewka-mar
2013-09-05 11:15
2014.07.06
Подстановка значений в edit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский