Вниз
Скачать: CL | DM;

Сообщения от SQL Server   Найти похожие ветки 

 
avkar   (2004-11-02 21:19) [0]

Подскажите плиз как получить сообщения от SQL Server о результате выполнения запроса, типа "New login created."
или "(1 row(s) affected)", которые в SQL Analyzere можно спокойно прочитать. Также хотелось бы научится получать код ошибки в SQL, процедуру и строку в которой произошла ошибка, чтобы дать пользователю сообщение типа "Server: Msg 50000, Level 16, State 1, Procedure buro_sp_TEST, Line 12".
Пользуюсь ADO компонентами.
Знаю что в ADO есть коллекция Errors, где все это должно хранится, но получить доступ к ней из DELPHI не получается.
Благодарен за ответ.


 
Nikolay M. ©   (2004-11-03 10:03) [1]

http://www.sql.ru/forum/actualthread.aspx?tid=23884&pg=-1&hl=print+raiseerror


 
avkar   (2004-11-03 19:07) [2]

А в дельфях как можно обратится к элементам в коллекции
TADOConnection.Errors. Хотя бы пример какой-нить.


 
avkar   (2004-11-03 20:48) [3]

Заработало:
   DM.ADOConnetct.Errors.Refresh;
   for i := 0 to DM.ADOConnect.Errors.Count - 1 do
   begin
     ShowMessage(DM.ADOConnect.Errors.Item[i].Description);
   end;
но одна беда: в коллекцию Errors вываливаются ошибки и сообщения о результате запроса, только в том случае если в SQL сгенерирована ошибка.
А если ошибки на серваке не произошла, то сообщения о результате запроса не вываливаются в Errors.
Может кто подскажет как получить сообщения о результате запроса???


 
sniknik ©   (2004-11-03 21:04) [4]


   Recordset:= ADOCommand1.Execute(RecordsAffected, EmptyParam);
   if Recordset.State=1 then RichEdit2.Lines.Add(IntToStr(ErrCount)+"  Выполнено применительно к "+IntToStr(Recordset.RecordCount)+" записям")
   else RichEdit2.Lines.Add(IntToStr(ErrCount)+"  Выполнено применительно к "+IntToStr(RecordsAffected)+" записям. (no recordset)");


только надо это прогнать для всех рекордсетов в пакете (Recordset:= Recordset.NextRecordset(RecordsAffected);).


 
avkar   (2004-11-04 20:39) [5]

Не подойдет для запросов, которые не возвращают набор данных.
Например вызов хранимой процедуры.


 
sniknik ©   (2004-11-04 20:43) [6]

> Не подойдет для запросов, которые не возвращают набор данных.
хорошо не знал когда делал, так бы и забросил нафик, а так работает! ;о)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.046 c
3-1099647796
alsov1
2004-11-05 12:43
2004.12.05
Помогите запихнуть иерархию в TTreeView


4-1098437577
Slonco
2004-10-22 13:32
2004.12.05
Как сделать чтобы форма получила фокус и стала поверх другх окон?


3-1099281236
Explorer
2004-11-01 06:53
2004.12.05
Работа с серверной БД


3-1099989334
Pavor
2004-11-09 11:35
2004.12.05
Самопроизвольная запись в таблицу DB???


1-1101286363
you
2004-11-24 11:52
2004.12.05
Как в фастрепорте полученную сумму заменить прописью??




   Наверх