![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать номер строки с ошибкой в MS SQL Server? [D6, MSSQL]
lmatveev © (2003-10-30 13:35:00)
Собственно subj. Когда делаешь запрос в Query Analyzer (или в ряде других средств), то в случае ошибки он выдает не только текст об ошибке, но и указывает в какой строке она произошла. Я тоже хочу это реализовать.
Для подключения я использую TADOConnection + OLE DB Provider for MS SQL Server.
В MSDN я вычитал, что такую инфу можно узнать, используя ODBC (использовать ODBC я принципиально не хочу, хотя подозреваю, что Query Analyzer именно так и работает) или через OLEDB.
Для того, чтобы узнать у OLEDB номер строки с ошибкой, ему вроде надо передать евойный интерфейс, вызвавший эту ошибку... А как его получить через ADOConnection?
Там же на MSDN нашел непонятную фразу: ADO does not support any provider-specific error interfaces, so SQL Server-specific error information such as the severity or state are available to ADO applications...
Короче, если кто знает как получить номер строки с ошибкой - очень прошу помочь
sniknik (2003-10-31 14:15:00) [21]
lmatveev (31.10.03 13:57) [6]
> В ADOConnection.Errors такой информации нет.
как так нет, есть, когда передается
вот выполни к примеру в запросе
print "строка 1"
print "строка 2" ошибка
получиш "Line 2" первым в эксепте
> Еще идеи?
анализатор запроса писать такойже как в Query Analyzer используется
(если ты имееш ввиду первую строку красным которую он выдает при выполнении)
lmatveev (2003-10-31 13:57:00) [22]
В ADOConnection.Errors такой информации нет. Это я посмотрел в первую очередь. Ссылку щас попробую почитать.
Еще идеи?
Mike_Goblin (2003-10-31 10:46:00) [23]
Идеи есть, одна из них посмотреть в сторону TAdOConnection.Errors
Возможно, нужная Вам информация там есть
Неплохо почтитать и это http://delphi.about.com/library/weekly/aa103001a.htm
lmatveev (2003-10-30 23:26:00) [24]
Сильно сомневаюсь, что в QA есть отладчик, но даже если он и есть - информацию он с сервера берет. Так вот и вопрос в том как получить эту инфу.
А сравнение с Delphi мне кажется не совсем удачное - ведь в Delphi мне программу надо из под Delphi и запустить, чтобы строку с ошибкой узнать, а QA ведь сервер не запускает... Или я чего-то не понимаю?
Fay (2003-10-30 22:08:00) [25]
Намёк - в QA есть отладчик
Fay (2003-10-30 22:07:00) [26]
Ты в Delphi ведь знаешь, в какой строке Exception вылазит?
lmatveev (2003-10-30 21:50:00) [27]
Неужто совсем никаких идей?