读书人

小弟我看看下面 的代

发布时间: 2012-02-05 12:07:14 作者: rapoo

我看看下面 的代
我的用的是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 中就.
大家我看以下.

[解决办法]

Delphi(Pascal) code
不使用MSDAORA.1驱动使用OraOLEDB.Oracle.1驱动就OK了Provider=MSDAORA.1;Password=manager;User ID=system;Data Source=orcl;Persist Security Info=True替换成Provider=OraOLEDB.Oracle.1;Password=manager;Persist Security Info=True;User ID=system;Data Source=orcl 

读书人网 >.NET

热点推荐