我用一个ADOSQUERY 的 SELECT语句查询,想知道有多少记录符合条件被查询来,有什么办法?用EXECSQL的返回值是不行的,它只返受影响的。谢谢

解决方案 »

  1.   

    EXECSQL不返回记录集。用OPEN吧。
      

  2.   

    ADOQuery.Open;
    AdoQuery.RecordCount;//记录数
      

  3.   

    excelsql是用来执行update、delete、insert等不返回数据集的操作的
    open是用来执行select这样返回数据集操作的
    所以你要使用adoquery.open来得到查询到的数据
      

  4.   

    呵,楼主的意思是说要如何得到update、delete、insert这些操作后,受影响的记录吧~
      

  5.   

    ExecSQL的函数原型如下:function ExecSQL: Integer;这个函数是有返回值的,返回值就是影响的记录数。
      

  6.   

    靠!简单的办法就是先SELECT这些记录,然后再搞!!
    还有SQL有几个缓冲区是专门存放对应的被搞的数据的!
      

  7.   

    if ado.Bof and ado.Eof then
        begin
        label1.Caption:='没有记录';                  //信息输出为label
        end
        else
        begin
        ado.Last;
        ado.First;
        label1.Caption:=('记录数目为:'+inttostr(ado.RecordCount));  //信息输出为label
        end;
      

  8.   

    excelsql是用来执行update、delete、insert等不返回数据集的操作的
    open是用来执行select这样返回数据集操作的
    所以你要使用adoquery.open来得到查询到的数据
    然后在使用adoquery。recordcount来取得查询到的数据条数
    在本文字中使用hfltp(红枫叶) 楼上的解答特此说明
      

  9.   

    X := Excelapplication1.ActiveCell.Row;这个就是从Excel中读记录数