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

Вниз

Проблема проверки добавляемого значения.   Найти похожие ветки 

 
S!D ©   (2002-10-26 12:53) [0]

Проблема проверки добавляемого значения.
Есть таблица Table1, связанный с ее индексированным полем DBEdit1.
Необходимо перед обновлением произвести проверку присутствия или отсутствия в этом поле введенного значения (DBEdit1.Text).
Приведенный ниже код не работоспособен.
Буду признателен, если подкините решение данной проблемы и/или объясните в чем ошибка.

procedure TForm1.DataSource1UpdateData(Sender: TObject);
begin
if Table1.FindKey([DBEdit1.Text]) then
begin
...


 
Anatoly Podgoretsky ©   (2002-10-26 13:01) [1]

Как проявляется не работоспособность?


 
S!D ©   (2002-10-26 14:50) [2]

Debugger Exception Notification

Project raised exception class EStackOverFlow W/message "Stack overflow"
причем при трассировке видно что прога зацикливается с if на begin приведенного кода


 
S!D ©   (2002-10-26 14:52) [3]

.. т.е begin процедуры.


 
MsGuns ©   (2002-10-26 17:05) [4]

Естественно, она и ДОЛЖНА циклить. Что ж ты в событии, возникающем ПЕРЕД тем как постировать изменения, пытаешься покинуть ИЗМЕНЕННУЮ запись ?
Проверка на дублирование ключей должна ИМХО выполняться в событии OnKeyViolate (точнее, не проверка, а собственно реакция на повтор ключа) - никаких доп.поисков при этом не требуется.

Искать надо если поле не есть ключ или уникальный индекс и другим методом - LookUp, который ищет повторяемость, НЕ ПОКИДАЯ текущую запись.
К событиям TDataSource надо вообще относиться очень осторожно, хорошо понимая суть и последовательнось реакции отдельных составляющих программы (источника, отображателя, физ.НД и т.д.)


 
S!D ©   (2002-10-26 20:21) [5]

И правда, чего это я?
спасибо за вправку извилин! :)



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
14-46118
alex72
2002-10-27 19:27
2002.11.14
Где в Инете скачать Сам Delphi?


6-46036
Metallica
2002-09-19 19:58
2002.11.14
Почему не загружаются две и более HTTP-страницы одновременно.


7-46156
BCPP_Builder_Dev
2002-09-12 14:27
2002.11.14
Коллеги! Как программно


1-45869
opoloXAI
2002-11-05 15:45
2002.11.14
ComPort for Windows2000 (NT)


14-46080
Beginner-Designer
2002-10-24 16:00
2002.11.14
Как реализовать что-то типа if...then в Builder e?