![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
В обработчике какого события можно перехватить ошибку [D6, XP]
Drowsy © (2011-03-28 22:17:00)в TibDataSet.UpdateSQL?
Вызываю TibDataSet.Post,
Сообщение об ошибке выскакивает до обработчика TibDataSet.BeforePost.
Где ошибку можно перехватить и обработать?
(сервер Firebird)
Германн (2011-03-30 01:39:00) [1]
> Loginov Dmitry © (29.03.11 21:49) [20]
>
>
> > Германн © (29.03.11 01:47) [16]
> > А тут DBGrid вдобавок привязан к чужеродному TibDataSet
>
>
> А какой не чужеродный? Кроме как TDataSet, да и тот - абстрактный
> :)
>
TTable. Я ведь говорил о редактировании в TDBGrid'е.
Loginov Dmitry (2011-03-29 21:49:00) [2]
> Германн © (29.03.11 01:47) [16]
> А тут DBGrid вдобавок привязан к чужеродному TibDataSet
А какой не чужеродный? Кроме как TDataSet, да и тот - абстрактный :)
Loginov Dmitry (2011-03-29 21:45:00) [3]
> Сообщение об ошибке выскакивает до обработчика TibDataSet.
> BeforePost.
> Где ошибку можно перехватить и обработать?
Текст сообщения об ошибке засекречен?
> сообщение об ошибке выдаёт сервер, правильно?
Может сервер, а может и нет. Отсюда этого не видно без текста ошибки.
> Как датасет общается с сервером при попытке поста?
TibDataSet для пользователя (программиста) - "черный ящик". Тонкости его обращения с сервером нас не должны волновать.
Событие BeforePost вызывается прежде, чем записи будут переданы на сервер.
sniknik (2011-03-29 08:00:00) [4]> Искать "кривизну" в компоненте TibDataSet?
???
вопрос построен на домыслах, а не том что есть, ошибка проигнорирована, не потрудился сам просмотреть список методов прямо у компонента...
а "кривизну" искать в TibDataSet? это получатся как в анекдоте про пьяного который ищет где светлее а не где потерял.
Германн (2011-03-29 02:18:00) [5]Поправка.
> Даже для "родной" для Дельфи BDE
Читать как "даже для "родных" для Дельфи БД типа Paradox, DBase"
Германн (2011-03-29 01:47:00) [6]
> Редактирую строку, при переходе на другую автоматически,
> если я правильно понимаю, вызывается Post
"Уж сколько лет твердили миру, что..." и т.д.
Даже для "родной" для Дельфи BDE редактирование в DBGrid является "стрёмным". А тут DBGrid вдобавок привязан к чужеродному TibDataSet. И что же ты от нас хочешь? Искать "кривизну" в компоненте TibDataSet?
Drowsy (2011-03-29 01:23:00) [7]
> Palladin © (29.03.11 01:21) [13]
рад был доставить удовольствие.
Drowsy (2011-03-29 01:22:00) [8]
> Германн © (29.03.11 01:19) [12]
Редактирую строку, при переходе на другую автоматически, если я правильно понимаю, вызывается Post, но до BeforePost, уже выскакивает ошибка.
Palladin (2011-03-29 01:21:00) [9]абсолютно незачто... люди, которые не чухают, что пишут меня забавляют в последнее время... это будущее данной профессии...
отсюда менеджеры в топе востребованных профессий, они уровнем интеллекта к ней подходят
Германн (2011-03-29 01:19:00) [10]
> Вызываю TibDataSet.Post,
Вот его и вызывай в защищенном блоке try..except.
Смущает только фраза
> После редактирования строки и переходе на другую, выскакивает
> ошибка
Drowsy (2011-03-29 01:18:00) [11]спасибо, что не поленился ответить.
Palladin (2011-03-29 01:14:00) [12]азбукой морзе
Drowsy (2011-03-29 01:06:00) [13]сообщение об ошибке выдаёт сервер, правильно?
Как датасет общается с сервером при попытке поста?
Palladin (2011-03-29 00:37:00) [14]
> что должно быть в теле try.. except..end?
у меня нет вариантов... но в finally должна быть опять же стена
Inovet (2011-03-29 00:35:00) [15]> [5] Drowsy © (29.03.11 00:31)
> ошибка синтаксиса запроса Update.
Так запрос правь.
Ты вот спрашивал
> [2] Drowsy © (28.03.11 23:50)
> Как проверить корректность Sql запроса до его выполнения?
Только, видимо, не о том.
Может поможет IBExpert.
Drowsy (2011-03-29 00:33:00) [16]try
MForm.ShowModal;
except // сюда исключение не добирается.
on E : Exception do
begin
........
end;
end;
Drowsy (2011-03-29 00:31:00) [17]
> Игорь Шевченко © (28.03.11 23:36) [1]
TibDataSet (не кэшированный) редактируется в гриде на форме MForm.
После редактирования строки и переходе на другую, выскакивает ошибка синтаксиса запроса Update.
что должно быть в теле try.. except..end?
Игорь Шевченко (2011-03-29 00:19:00) [18]
> проверить синтаксис, распарсить, проверить существование
> полей, таблиц, процедур и функций (с учетом используемой
> бд), проверить отсутствие конфликтов имен и валидность условий
причем все эти действия СУБД выполняет самостоятельно и довольно шустро
Palladin (2011-03-28 23:58:00) [19]очень очень просто
всего лишь: проверить синтаксис, распарсить, проверить существование полей, таблиц, процедур и функций (с учетом используемой бд), проверить отсутствие конфликтов имен и валидность условий
Drowsy (2011-03-28 23:50:00) [20]Как проверить корректность Sql запроса до его выполнения?