我想获取一个表中的最大值,报DBedit4:file 'Fcard' not found  这个错误   ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('Select max(Number) Number From Student Where Class='''+trim(Edit3.Text)+'''');
   ADOQuery1.Open;
   Edit1.Text:= IntToStr(strtoInt(ADOQuery1.fieldByName('Number').AsString));是我SQL语句错了还是其他错误?
  

解决方案 »

  1.   


    ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('Select isNull(max(Number),0) Number From Student Where Class='''+trim(Edit3.Text)+'''');
       ADOQuery1.Open;
       Edit1.Text:= IntToStr(strtoInt(ADOQuery1.fieldByName('Number').AsString));
    語句漏洞幫你改了下。上面的錯雖因為你的ADOQUERY靜態化了字段,你的ADOQUERY找不到那個字段造成的。建議取最大值這個SQL換一個ADOQUERY來用。
      

  2.   

    DBedit4所绑定的Fcard字段没有不知你得DBedit4是否和ADOQuery1对应因为你的select语句中并没有选出Fcard字段,只有一个number字段
      

  3.   

    对应了
    是不是像Starluck那样要换个ADOQuery呢?
      

  4.   

    这要看你的需要了,如果只是为了取最大值,就不要用已经和其它控件绑定的query取查询,自己创建一个临时的query去查最大值