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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
1-1257430353
igor666
2009-11-05 17:12
2011.07.03
Не модальная форма из DLL, не обрабатываются некоторые события.


2-1301145994
VikOss
2011-03-26 16:26
2011.07.03
глюк StringGrid


15-1300438782
compuser
2011-03-18 11:59
2011.07.03
Несворачиваемая, дырявая форма


8-1213428249
Настя
2008-06-14 11:24
2011.07.03
Необходимо обработать исключительную ситуацию


15-1300397390
Юрий
2011-03-18 00:29
2011.07.03
С днем рождения ! 18 марта 2011 пятница





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