首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

幫小弟我看看下面 的代碼

2012-02-05 
幫我看看下面 的代碼我的數據庫用的是Oracle,ord字段的格式為POMYYYYMMDD001 其中YYYYMMDD代表日期 如2007

幫我看看下面 的代碼
我的數據庫用的是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 

热点排行