代码是这样的:
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' ;
错误是:field'corp_no'not found
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' ;
错误是:field'corp_no'not found
if ADOQuery1.recordcount>0 then
edit2.text := ADOQuery1.fields[ 0].value ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max([corp_no]) from zfb_unit_no');//把字段加一个方框括起来
ADOQuery1.open;
if adoquery1.Recordcount>0 then
edit2.text:=adoquery1.fields[0].asstring//你在这里错了因为是一个表达式其字段名不是corp_no了而叫expr1 因此只能用fields[0]调出
else
edit2.text:='0001';一定能解决你的问题。
下次调sql语句可以在delphi自带的sql explorer中试运行一遍就明白了。
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max(corp_no) as YouFieldName from zfb_unit_no');
ADOQuery1.open;
if ADOQuery1.recordcount>0 then
edit2.text := ADOQuery1.FieldValue('YouFieldName')
else
edit2.text :='0001' ;
上面有问题可以改写成:
ADOQuery1.Close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max(corp_no) as 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' ;
或改成:
ADOQuery1.Close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max(corp_no) ,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' ;
ADOQuery1.Close;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('Select max(corp_no) as corp_no from zfb_unit_no');
ADOQuery1.open;
if ADOQuery1.recordcount>0 then
edit2.text := ADOQuery1.fieldbyname('corp_no').value.asstring ;
if ADOQuery1.recordcount<=0 then
edit2.text :='0001' ;如果直接使用Select max(corp_no) from zfb_unit_no的话,结果集是无列名的!!
请注意程序的大小写,呵呵:-)