![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как "поймать" сообщения при выполнении запросов к MSSQL
Layner © (2005-02-21 14:45:00)в своей программе? Т.е. например, из своей программы выполняю PRINT GETDATE();, как бы возвращаемую строчку загнать в Memo?
Desdechado (2005-02-21 17:54:00) [1]дык вызывай нужную функцию в select'е, если знаешь, как она называется
Layner (2005-02-21 16:49:00) [2]Правда то что выдает QA, включает ответы типа
(1000 row(s) affected)
Но и эта процедура, с принтом, нормально.
Layner (2005-02-21 16:45:00) [3]Zz_
Спасибо!
Сейчас немного доработаю для своих потребностей, все ОК!
Layner (2005-02-21 16:39:00) [4]Desdechado
А если мне надо получить репорт, сколько строк удалилось и т.п. с помощью твоего кода?
Т.е. надо как нижняя часть в Query Analyzer.
Zz_ , сейчас посмотрю.
Zz_ (2005-02-21 16:30:00) [5]
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;
Desdechado (2005-02-21 15:10:00) [6]а не пробовал делать
insert into tbl (memo_field) values (getdate());