我在D7中运行下面的语句不出错。
  ADO_Query.Close;
  ADO_Query.SQL.Clear;
  ADO_Query.SQL.Add('select distinct ma_code from hq_message');
  ADO_Query.Open;
  if ADO_Query.RecordCount >0 then
  begin
    com_code.Items.Clear;
    ADO_Query.First;
    while not ADO_Query.Eof do
    begin
       com_code.Items.Add(ADO_Query.fieldbyname('ma_code').AsString);
       ADO_Query.Next;
    end;
  end;
但是在d5中运行就要出错:错误是:
BOF或EOF中一个是“真”,或者当前的记录已被删除,所需要的操作要求一个当前的记录。
////////////////////
但是数据库中有三条记录。。这是什么原因  要那样解决

解决方案 »

  1.   

    D5的ADOQuery默认是什么类型的游标?
    换adOpenStatic或adOpenKeyset试试
      

  2.   

    jacket008(§优国优民§) :那样升级mdac
      

  3.   

    DebugXP() :换adOpenStatic或adOpenKeyset试试
    ????????????????????
      

  4.   

    我说的是CursorType属性。
    delphi的应该是ctKeyset,ctStatic
      

  5.   

    DebugXP() :那个问题我都试过了。。
    不行
      

  6.   

    谢谢jacket008(§优国优民§)   我找到原因了。。