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

Вниз

Как перехватить сообщение сервера?   Найти похожие ветки 

 
Lika   (2003-05-06 14:23) [0]

Пишу клиент-серверное приложение, сервер-Firebird, компоненты доступа FIBPlus.
Подскажите пожалуйста, как можно перехватить сообщения сервера типа "...value"***null***" (т.е когда пользователь оставил не заполненным поле, которое не может быть null) и др. такого рода сообщения и выдыть свое на русском "значение ...должно быть заполнено" и т.д
В событие OnPostError не обрабатывает сообщения сервера, я пробовала.
Заранее всем спасибо!


 
Lika   (2003-05-06 16:07) [1]

Неужели никто мне не поможет!


 
Ann   (2003-05-06 16:09) [2]

а почему сразу при вводе не проверять заполнено поле или нет?


 
Lika   (2003-05-06 16:33) [3]

Дело в том что, я имею ввиду не только эту ошибку, например когда
пользователь пытается ввести значение которое уже существует в таблице(для поля по которому есть первичный ключ)и т.д
Хотелось бы какой нибудь общий способ, чтобы пользователю выходило диалоговое окно с сообщением написанным мной!


 
Ann   (2003-05-06 16:41) [4]

так это же можно отлавливать и в клиентской части. Тот же ввод уже имеющихся значений..
Или дело в чем-то другом?


 
HSolo   (2003-05-06 17:35) [5]

Я такие вещи перехватываю в Application.OnException
Или нужно непременно на уровне сервера?


 
Lika   (2003-05-07 10:01) [6]

Ann © (06.05.03 16:41)
>так это же можно отлавливать и в клиентской части. Тот же ввод уже имеющихся значений..

Можно поподробнее?



 
Zacho   (2003-05-07 10:16) [7]


> Lika (07.05.03 10:01)

try
....
except
...
end;
или Application.OnException


 
Lika   (2003-05-07 10:25) [8]

>Zacho © (07.05.03 10:16)
try
....
except
...
end;
при нажатии на кнопку сохранить для обработки Not null полей,
я делала вроде нормально.
А дя попытки ввода уже существующего значения?


 
Zacho   (2003-05-07 10:27) [9]


> Lika (07.05.03 10:25)

В смысле "уже существующего" ?


 
Danilka   (2003-05-07 10:36) [10]

Lika (07.05.03 10:25)
для любых попыток, если не проходит запись, то возникает исключение, которое можно по-разному обработать в зависимости от ошибки, если null - то одно сообщение на экран вывести, дублирование уникального поля - другое сообщение.


 
Danilka   (2003-05-07 10:36) [11]

уникального значения а не поля :))


 
Lika   (2003-05-07 10:37) [12]

Ну есть поле по которому стоит первичный ключ(т.е значения должны быть уникальны)и пользователь пытается ввести значение
которое нарушает уникальность(т.е запись с таким значение уже есть в таблице). Каждый раз делать поиск в таблице перед сохранением не хотелось бы.


 
Zacho   (2003-05-07 10:43) [13]


> Lika (07.05.03 10:37)

Ну вот и обрабатывай EIBInterbaseError в try .. except или Application.OnException и вместо "Violation of Primary or UNIQUE key constraint .. " выводи свое сообщение или делай какие-либо другие действия.


 
Lika   (2003-05-07 10:44) [14]

>Danilka © (07.05.03 10:36)
пока писала предыдущее сообщение пришло твое.

> можно по-разному обработать в зависимости от ошибки, если null - то одно сообщение на экран вывести, дублирование уникального поля - другое сообщение.

Cогласна. С null вроде легче, а дублирование уникального значения,подскажи как?


 
Danilka   (2003-05-07 11:25) [15]

Lika (07.05.03 10:44)
ну, во-первых, можно сделать так:
try
...
except
on e: Exception do begin
...
end;
end;

а в e.Message - будет сообщение об ошибке, разное для Null и дублирования, правда неудобно будет его анализировать.
но есть второй, более правильный вариант:
в FIBPlus есть компонет: TpFibErrorHandler, у него есть событие: OnFIBErrorEvent, который можно и обрабатывать.
В частности, в обработчик этого события передается код ошибки, он будет разный для ошибки Null и дублирования ключа.


 
Lika   (2003-05-07 11:43) [16]

TpFibErrorHandler то что нужно. Спасибо!



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

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

Наверх





Память: 0.48 MB
Время: 0.007 c
3-83358
proc
2003-04-30 19:29
2003.05.26
RecNo i Filter


11-83429
Kirill
2002-08-18 11:34
2003.05.26
Горячие клавиши для меню


1-83447
SVK
2003-05-14 15:00
2003.05.26
Delphi и СИМВОЛЫ WORD


11-83424
Sam Stone
2002-08-18 09:21
2003.05.26
FindComponent :(


4-83790
QUE
2003-03-26 11:57
2003.05.26
VK_A до VK_Z A до Z ($41 - $5A) а еще ?





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