delphi 能不能返回 sql server 里的消息 例如做了个修改 update ,sql server 消息框里提示  (所影响的行数为 8756 行)

解决方案 »

  1.   

    tadoquery.ExecSQL的返回值应该是吧,你试试
    如:
    var
      q1:tadoquery;
      rows:integer;
    begin
         q1:=tadoquery.Create(self);
        try
          q1.Connection:=dmform.ADOConnection1;
          q1.SQL.Add('update my_user set ...=... where ...');
          q1.Prepared;
          rows:=q1.ExecSQL;
        finally
           q1.Destroy;
        end;
    end;
      

  2.   

    谢谢楼上的两位,
    首先我用的是 adocommand。它返回的是一个_recordset类.
    还有就是如果是存储过程(利用游标修改),那它显示的消息是滚动的,并且我还在存储过程中写了print语句.我是想把整个消息提取出来4|||||4(所影响的行数为1 行)
    (20061231)(所影响的行数为 3 行)
    (20070101)(所影响的行数为 5 行)
    (20070102)(所影响的行数为 34 行)
      

  3.   

    你把存储过程这样改就行了create table #tmp (changecount int)
    update .......
    insert into #tmp values(@@ROWCOUNT)
    update .......
    insert into #tmp values(@@ROWCOUNT)
    update .......
    insert into #tmp values(@@ROWCOUNT)
    ....
    select * from #tmp这样adocommand.execute返回的记录集就是你记录的日志了