Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщения от SQL Server [D7, MSSQL]


avkar ©   (2004-11-02 21:19:00) 

Подскажите плиз как получить сообщения от 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 не получается.
Благодарен за ответ.


sniknik   (2004-11-04 20:43:00) [1]

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


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

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


sniknik   (2004-11-03 21:04:00) [3]


   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-03 20:48:00) [4]

Заработало:
   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.
Может кто подскажет как получить сообщения о результате запроса???


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

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


Nikolay M.   (2004-11-03 10:03:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо