我的數據庫用的是Oracle,ord字段的格式為POMYYYYMMDD001 其中YYYYMMDD代表日期 如20070928
Ord 完整的格式POM20070928001,
我想通過下面的代碼找出POMYYYYMMDD一樣的Ord最大值.
比如 POM20070928001, POM20070928002,POM20070928003,POM20070928004
就能根據POM20070928找出POM20070928004代碼如下
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('Select max(ord) as ord from tblselllot where substr(ord,1,11)=:B');
Parameters.ParamByName('B').Value:=lotnum;
open;
end;
可是報錯 提示 ORA-00937:不是一個單一群體的群體函數,
代碼中 lotnum 是變量 存放 POM20070928
我把Select max(ord) as ord from tblselllot where substr(ord,1,11)='POM20070928'放在PL/SQL Deveploper中都可以執行,得到結果,為什麼在Delphi 中就報錯.
請大家幫我看以下.
Ord 完整的格式POM20070928001,
我想通過下面的代碼找出POMYYYYMMDD一樣的Ord最大值.
比如 POM20070928001, POM20070928002,POM20070928003,POM20070928004
就能根據POM20070928找出POM20070928004代碼如下
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('Select max(ord) as ord from tblselllot where substr(ord,1,11)=:B');
Parameters.ParamByName('B').Value:=lotnum;
open;
end;
可是報錯 提示 ORA-00937:不是一個單一群體的群體函數,
代碼中 lotnum 是變量 存放 POM20070928
我把Select max(ord) as ord from tblselllot where substr(ord,1,11)='POM20070928'放在PL/SQL Deveploper中都可以執行,得到結果,為什麼在Delphi 中就報錯.
請大家幫我看以下.
后面加个group by试试
Select max(ord) as ord from tblselllot where substr(ord,1,11)=:B group by OtherFieldName
替换成
Provider=OraOLEDB.Oracle.1;Password=manager;Persist Security Info=True;User ID=system;Data Source=orcl