Главная страница
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.057 c
1-1109835811
Walker
2005-03-03 10:43
2005.03.20
Rave reports


6-1105789949
Separator
2005-01-15 14:52
2005.03.20
Автодозвон


1-1109862724
Володя
2005-03-03 18:12
2005.03.20
диспечер задачь


3-1108841691
Bogdan
2005-02-19 22:34
2005.03.20
Отсортировать по дате


4-1107501679
wal
2005-02-04 10:21
2005.03.20
Консольное приложение