我的程序是一个很简单的查询,它是这样的:
基本控件如下:
    ADOCon: TADOConnection;//连接某个Sqlserver数据库
    ADOQuery1: TADOQuery;//其Connection属性是ADOCon
    DataSource1: TDataSource;//其DataSet属性是ADOQuery1
    DBGrid1: TDBGrid;//其DataSource属性是DataSource1
    SearchBtn: TButton;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
主要代码:procedure TForm1.SearchBtnClick(Sender: TObject);
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:='select * from data_input where convert varchar (8),jc_date,112)>='''+FormatDateTime('yyyymmdd',DateTimePicker1.DateTime)+''' and  convert(varchar(8),jc_date,112)<='''+FormatDateTime('yyyymmdd', DateTimePicker2.DateTime)+'''';
    ADOQuery1.Open;
end;
功能是显示某个时间段的数据,单击SearchBtn执行查询;
问题是这样的,执行SearchBtnClick的时候如果ADOQuery1有满足条件的记录一切正常;如果没有记录存在则会出现异常,提示信息如下:Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
这是怎么回事(我以前这样用都很正常),怎么消除异常?

解决方案 »

  1.   

    加入一段代码:ADOQuery1.Open后面
    if ADOQuery1.recordcount=0 then
      begin
            showmessage('没有符合条件的数据!');
            exit;
      end;
      

  2.   

    to :tomboy0(小波波) 没有用的,SearchBtn: TButton;第一次按下的时候正常,第二次按下就出现我所说的错误:
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
    help!!!!!!!!!!
      

  3.   

    try
      ADOQuery1.Open()
    except
      on E: EDatabaseError do
      begin
        ShowMessage(E.Message);
        exit;
      end;
      

  4.   

    看看你的Open事件里是不是引用了什么?
    ---------------------------------
    如果事件里没有用任何东东,就升级ADO吧
      

  5.   

    to: promaster(双鱼座的水泡) 没有用
    to: ezlz(猫嘴里的猪)  升级ADO。快!快!快!》》怎么升级
    to:  hare007(qghao) 其他控件设置有问题么?》》要注意什么问题呀
    错误症状如下:
    SearchBtn: TButton;第一次按下的时候正常(第一次执行),第二次按下就出现我所说的错误。
      

  6.   

    设置段点发现是第二次按下SearchBtn,执行第一句ADOQuery1.Close;触发异常。为什么???
      

  7.   

    打delphi的Ado补丁!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      

  8.   

    先打delphi的ado补丁,在打delphi补丁,我记得到sp2了
      

  9.   

    从borland 站点升级ado 组件
      

  10.   

    如果你用的是Ddelphi5的话就设计ADO啊..保证解决问题啊 
      

  11.   

    打delphi的Ado补丁,怎么打呀?
      

  12.   

    Delphi 5 中的ADO升级包SP1。
    Delphi 5 企业版的补丁包
    Delphi 5 中的ADO升级包SP2。
    这三个补丁包都需要吗?如果需要安装顺序如何?那里下载速度较快?
      

  13.   

    Delphi 5 企业版的补丁包
    Delphi 5 中的ADO升级包SP2。
    就这两个,就这个顺序就行