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

Вниз

В обработчике какого события можно перехватить ошибку   Найти похожие ветки 

 
Drowsy ©   (2011-03-28 22:17) [0]

в TibDataSet.UpdateSQL?
Вызываю TibDataSet.Post,
Сообщение об ошибке выскакивает  до обработчика TibDataSet.BeforePost.
Где ошибку можно перехватить и обработать?
(сервер Firebird)


 
Игорь Шевченко ©   (2011-03-28 23:36) [1]

в try...except...end


 
Drowsy ©   (2011-03-28 23:50) [2]

Как проверить корректность Sql запроса до его выполнения?


 
Palladin ©   (2011-03-28 23:58) [3]

очень очень просто
всего лишь: проверить синтаксис, распарсить, проверить существование полей, таблиц, процедур и функций (с учетом используемой бд), проверить отсутствие конфликтов имен и валидность условий


 
Игорь Шевченко ©   (2011-03-29 00:19) [4]


> проверить синтаксис, распарсить, проверить существование
> полей, таблиц, процедур и функций (с учетом используемой
> бд), проверить отсутствие конфликтов имен и валидность условий


причем все эти действия СУБД выполняет самостоятельно и довольно шустро


 
Drowsy ©   (2011-03-29 00:31) [5]


> Игорь Шевченко ©   (28.03.11 23:36) [1]

TibDataSet (не кэшированный) редактируется в гриде на форме MForm.
После редактирования строки и переходе на другую, выскакивает ошибка синтаксиса запроса  Update.

что должно быть в теле try.. except..end?


 
Drowsy ©   (2011-03-29 00:33) [6]

try
 MForm.ShowModal;
except // сюда исключение не добирается.
 on E : Exception do
 begin  
  ........
 end;
end;


 
Inovet ©   (2011-03-29 00:35) [7]

> [5] Drowsy ©   (29.03.11 00:31)
> ошибка синтаксиса запроса  Update.

Так запрос правь.
Ты вот спрашивал

> [2] Drowsy ©   (28.03.11 23:50)
> Как проверить корректность Sql запроса до его выполнения?

Только, видимо, не о том.
Может поможет IBExpert.


 
Palladin ©   (2011-03-29 00:37) [8]


> что должно быть в теле try.. except..end?

у меня нет вариантов... но в finally должна быть опять же стена


 
Drowsy ©   (2011-03-29 01:06) [9]

сообщение об ошибке выдаёт сервер, правильно?
Как датасет общается с сервером при попытке поста?


 
Palladin ©   (2011-03-29 01:14) [10]

азбукой морзе


 
Drowsy ©   (2011-03-29 01:18) [11]

спасибо, что не поленился ответить.


 
Германн ©   (2011-03-29 01:19) [12]


> Вызываю TibDataSet.Post,

Вот его и вызывай в защищенном блоке try..except.
Смущает только фраза
> После редактирования строки и переходе на другую, выскакивает
> ошибка


 
Palladin ©   (2011-03-29 01:21) [13]

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


 
Drowsy ©   (2011-03-29 01:22) [14]


> Германн ©   (29.03.11 01:19) [12]

Редактирую строку, при переходе на другую автоматически, если я правильно понимаю, вызывается Post, но до BeforePost, уже выскакивает ошибка.


 
Drowsy ©   (2011-03-29 01:23) [15]


> Palladin ©   (29.03.11 01:21) [13]

рад был доставить удовольствие.


 
Германн ©   (2011-03-29 01:47) [16]


> Редактирую строку, при переходе на другую автоматически,
>  если я правильно понимаю, вызывается Post

"Уж сколько лет твердили миру, что..." и т.д.
Даже для "родной" для Дельфи BDE редактирование в DBGrid является "стрёмным". А тут DBGrid вдобавок привязан к чужеродному TibDataSet. И что же ты от нас хочешь? Искать "кривизну" в компоненте TibDataSet?


 
Германн ©   (2011-03-29 02:18) [17]

Поправка.

> Даже для "родной" для Дельфи BDE

Читать как "даже для "родных" для Дельфи БД типа Paradox, DBase"


 
sniknik ©   (2011-03-29 08:00) [18]

> Искать "кривизну" в компоненте TibDataSet?
???
вопрос построен на домыслах, а не том что есть, ошибка проигнорирована, не потрудился сам просмотреть список методов прямо у компонента...
а "кривизну" искать в TibDataSet? это получатся как в анекдоте про пьяного который ищет где светлее а не где потерял.


 
Loginov Dmitry ©   (2011-03-29 21:45) [19]


> Сообщение об ошибке выскакивает  до обработчика TibDataSet.
> BeforePost.
> Где ошибку можно перехватить и обработать?


Текст сообщения об ошибке засекречен?


> сообщение об ошибке выдаёт сервер, правильно?


Может сервер, а может и нет. Отсюда этого не видно без текста ошибки.


> Как датасет общается с сервером при попытке поста?


TibDataSet для пользователя (программиста) - "черный ящик". Тонкости его обращения с сервером нас не должны волновать.
Событие BeforePost вызывается прежде, чем записи будут переданы на сервер.


 
Loginov Dmitry ©   (2011-03-29 21:49) [20]


> Германн ©   (29.03.11 01:47) [16]
> А тут DBGrid вдобавок привязан к чужеродному TibDataSet


А какой не чужеродный? Кроме как TDataSet, да и тот - абстрактный :)


 
Германн ©   (2011-03-30 01:39) [21]


> Loginov Dmitry ©   (29.03.11 21:49) [20]
>
>
> > Германн ©   (29.03.11 01:47) [16]
> > А тут DBGrid вдобавок привязан к чужеродному TibDataSet
>
>
> А какой не чужеродный? Кроме как TDataSet, да и тот - абстрактный
> :)
>

TTable. Я ведь говорил о редактировании в TDBGrid"е.



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

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

Наверх




Память: 0.52 MB
Время: 0.009 c
2-1301294374
S_K
2011-03-28 10:39
2011.07.03
работа с процедурными и перечисляемыми типами данных


15-1300700731
P
2011-03-21 12:45
2011.07.03
Как правильно перевести на Английский фразу


15-1300355136
OW
2011-03-17 12:45
2011.07.03
Работник отдела персонала - что за зверь?


15-1300656604
Юрий
2011-03-21 00:30
2011.07.03
С днем рождения ! 21 марта 2011 понедельник


15-1300133801
tesseract
2011-03-14 23:16
2011.07.03
аквариум