代码如下:ADOQuery1.SQL.Text:='SELECT * FROM `obtcard`.`realnamecard`;';
  ADOQuery1.Open;
  fieldcount:=ADOQuery1.FieldCount;
  ShowMessage(IntToStr(ADOQuery1.RecordCount));
  while not ADOQuery1.Eof do
  begin
    recordStr:='';
    for I := 0 to fieldcount - 1 do
      recordStr:=recordStr+' | '+ ADOQuery1.Fields[i].asstring;
    Memo1.Lines.Add(recordStr);
    ADOQuery1.Next;
  end;
  ADOQuery1.Close;这样的话会返回E_FAIL状态且数据集里面没东西但是我将查询语句换成:ADOQuery1.SQL.Text:='SELECT count(*) FROM `obtcard`.`realnamecard`;';
的话能够查出记录数量,求高手不吝指教!

解决方案 »

  1.   

    ADOQuery1.RecordCount或许在mysql的ADO中并没有实现。
      

  2.   

    如果是这样,可以将表结构帖出,注意到你前边提到:返回E_FAIL状态且数据集里面没东西,你可以通过调用相关API得到更详细的错误信息,进而得到准确的判断。