Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.20;
Скачать: CL | DM;

Вниз

Как "поймать" сообщения при выполнении запросов к MSSQL   Найти похожие ветки 

 
Layner ©   (2005-02-21 14:45) [0]

в своей программе? Т.е. например, из своей программы выполняю PRINT GETDATE();, как бы возвращаемую строчку загнать в Memo?


 
Desdechado ©   (2005-02-21 15:10) [1]

а не пробовал делать
insert into tbl (memo_field) values (getdate());


 
Zz_   (2005-02-21 16:30) [2]

CREATE PROCEDURE [dbo].[MySP]
AS
  set nocount on
  print "print 1"
  select 1
  print "print 2"
  select 2
  print "print 3"
  select 3
  print "print 4"
  select 4
  return(0)
GO


uses ADOInt,ComObj;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var cmd  : _Command;
   rs   : _RecordSet;
   Conn : _Connection;
   Pars : Parameters;
   RA   : OleVariant;
   n    : Integer;
begin
 ListBox1.Clear;
 Conn := CreateComObject(CLASS_Connection) as _Connection;
 Conn.ConnectionString := ...
 Conn.Open(Conn.ConnectionString,"","",Integer(adConnectUnspecified));
 cmd := CreateComObject(CLASS_Command) as _Command;
 cmd.CommandType := adCmdStoredProc;
 cmd.Set_ActiveConnection(Conn);
 Pars := cmd.Parameters;
 Pars.Append(cmd.CreateParameter("@RETURN",adInteger,adParamReturnValue,4,0));

 cmd.CommandText := "dbo.MySP";
 rs := cmd.Execute(RA,Pars,Integer(adCmdStoredProc));
 while True do begin
   for n:=0 to(Conn.Errors.Count-1)do begin
     ListBox1.Items.Add(Conn.Errors.Item[n].Description);
   end;
   rs := rs.NextRecordset(RA);
   if(rs=nil)then break;
 end;

 cmd.Set_ActiveConnection(nil);
 Conn.Close;
 Pars := nil;
 cmd  := nil;
 Conn := nil;
end;


 
Layner ©   (2005-02-21 16:39) [3]

Desdechado
А если мне надо получить репорт, сколько строк удалилось и т.п. с помощью твоего кода?
Т.е. надо как нижняя часть в Query Analyzer.
Zz_ , сейчас посмотрю.


 
Layner ©   (2005-02-21 16:45) [4]

Zz_
Спасибо!
Сейчас немного доработаю для своих потребностей, все ОК!


 
Layner ©   (2005-02-21 16:49) [5]

Правда то что выдает QA, включает ответы типа
(1000 row(s) affected)
Но и эта процедура, с принтом, нормально.


 
Desdechado ©   (2005-02-21 17:54) [6]

дык вызывай нужную функцию в select"е, если знаешь, как она называется



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

Текущий архив: 2005.03.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
4-1107380317
suharew
2005-02-03 00:38
2005.03.20
Как писать в файл занятый другим приложением.


14-1109525705
Piter
2005-02-27 20:35
2005.03.20
Где достать декомпилятор для Visual Basic?


8-1101721670
DDDeN
2004-11-29 12:47
2005.03.20
Stereo Out загнать в сетевой поток


1-1110028625
Mars
2005-03-05 16:17
2005.03.20
Странное поведение панелей


3-1108785324
DelphiN!
2005-02-19 06:55
2005.03.20
Отправка SQL запроса на сервер Interbase через IbDataSet