请测试
query1.first;
query1.last;
showmessage(inttostr(query1.recordcount));

解决方案 »

  1.   

    在sql server里是有这样的问题,recordcount总为 -1,可以在open之后last一下,会得到正确的结果。
      

  2.   

    RecordCount值为0,就是没有检索到数据,把代码贴出来看看,是不是SQL语句有问题?
      

  3.   

    不是Memo的问题,RecordCount对大型数据库的时候可能会有问题,Delphi的帮助文档里边有说明
      

  4.   

    不是Memo的问题,RecordCount对大型数据库的时候可能会有问题,Delphi的帮助文档里边有说明
      

  5.   

    SQL语句应该没错,在另一个表(没有MEMO项)是正常的。
      

  6.   

    不是Memo的问题,RecordCount对大型数据库的时候可能会有问题,Delphi的帮助文档里边有说明。
      

  7.   

    to yansea(思宏) 
       我用的正是sql server,在碰到这种情况的时候我就得看一看First是否Eof,很麻烦,倒霉的是,有时候我还不清楚检索的那个表有没有MEMO项,所以用recordcount作为判断很危险,还有什么好建议吗?继续帮帮忙。
      

  8.   

    那就不要用recordCount来做判断呀
    i:=0;
    query1.open;
    query1.first;
    while (not query1.eof) do 
    begin
    i:=inc(i);
    query1.next;
    end;
      

  9.   

    你的query 有没有dataset和它对应?没有就加一个