用adoquery连接oracle数据库是,表名为YKSQJB,里面有一字段为YWBH(业务编号),数据类型为varchar,在orlacle的sql plus 中执行select max(ywbh) as ywbh from yksqjb时,可以得到最大值,但是在delphi中,语句为:
adoquery1.Close;
adoquery1.SQL.Clear;
ADOQuery1.SQL.Add('Select Max(cdm) From YKSQJB');
ADOquery1.Open;
str := AdoQuery1.Fields[0].AsString ;
却得不到数据.
adoquery1.Close;
adoquery1.SQL.Clear;
ADOQuery1.SQL.Add('Select Max(cdm) From YKSQJB');
ADOquery1.Open;
str := AdoQuery1.Fields[0].AsString ;
却得不到数据.
str := AdoQuery1.Fields[0].AsString ;
换成
str := AdoQuery1.Fieldbyname('maxcdm').asstring;
Max(cdm)
两个字段不同,得到的结果当然不同了。
嘿嘿
可能是你的cdm字段的问题,类型或者max为空
ps,就应该用open而不是execsql
adoquery1.SQL.Clear;
ADOQuery1.SQL.Add('select max(ywbh) as ywbh from yksqjb');
ADOquery1.Open;
str := AdoQuery1.Fields[0].AsString; //or AdoQuery1.FieldByName('ywbh').AsString;