代码如下:
ADOQuery1.Close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max(corp_no) from zfb_unit_no');
ADOQuery1.open;
if ADOQuery1.recordcount>0 then
edit2.text := ADOQuery1.fieldbyname('corp_no').value ;
if ADOQuery1.recordcount<=0 then
edit2.text :='0001' ;

解决方案 »

  1.   

    ADOQuery1.SQL.Add('Select max(corp_no) from zfb_unit_no');改成:
    ADOQuery1.SQL.Add('Select max(corp_no) as corp_no from zfb_unit_no');
      

  2.   

    代码建议改成如下:
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear ;
    ADOQuery1.SQL.Add('Select max(corp_no) as corp_no from zfb_unit_no');
    ADOQuery1.open;
    if not (ADOQuery1.EOF and ADOQuery1.BOF) then
       edit2.text := ADOQuery1.fieldbyname('corp_no').asString
    else
       edit2.text :='0001' ;
      

  3.   

    这样不会出现 corp_no的循环引用吧?不知道,我没有试但如果是
    ADOQuery1.SQL.Add('Select max(corp_no) as Acorp_no from zfb_unit_no');肯定不会有问题