应该是一样的吧。不过Delphi中的代码是
function TDataSet.IsEmpty: Boolean;
begin
  Result := FActiveRecord >= FRecordCount;
end;

解决方案 »

  1.   

    不一样,前者判断QUERY是否还有记录,后者判断当前记录是否在首位和末尾,如果有10条记录,当前记录为5,则not (Query1.Eof and Query1.Bof) 为True,事实上这样的判断用的不多或则
    不是这样用,一家之言,仅供参考。
      

  2.   

     我用 not (Query1.Eof and Query1.Bof) 来判断DataSet是否为空,这是否正确?
      

  3.   

    应该正确,因为只有空表的时候Eof和Bof才同时为True。而其它时候Eof和Bof最多只有一个可以为True。
      

  4.   

    那 liusp(夜深千帐灯)老兄为什么说不一样呢?
      

  5.   

    我用 not (Query1.Eof and Query1.Bof) 来判断DataSet是否为空,可以。但是在没有打补丁的ado下用可能会有问题
      

  6.   

    我用 (Query1.Eof and Query1.Bof)=false 来判断DataSet为空,有“高手”告诉
    我这种方法不行,但又说不出为什么不行,他说必须用 Query1.IsEmpty=false 来
    判断DataSet为空?
      

  7.   

    recordcount在数据量很大时有可能出错返回-1,好像是因为BDE的API出错造成的。所以,现在到底用什么方法判断数据集是否为空最好,最安全。