Dephi调用oracle存储过程遇到的问题!!!

njypch 2009-08-26 11:47:50
采用DBEXPRESS的TSQLStoredProc和TClientDataSet来执行Oracle的存储过程来返回结果集.
以下代码在按钮事件中执行:
DM_Find2.cds_ydhz.Params.Clear;
DM_Find2.cds_ydhz.Params.CreateParam(ftString, 'startdate', ptInput);
DM_Find2.cds_ydhz.Params.CreateParam(ftString, 'enddate', ptInput);
DM_Find2.cds_ydhz.Params.CreateParam(ftCursor, 'rc', ptOutput);
DM_Find2.cds_ydhz.Params.ParamByName('startdate').Value := FormatDateTime('yyyymmdd',StrToDate(StartDate));
DM_Find2.cds_ydhz.Params.ParamByName('enddate').Value := FormatDateTime('yyyymmdd',StrToDate(EndDate));
//DM_Find2.sqldst_ydhz.Close;
DM_Find2.cds_ydhz.close;
//DM_Find2.sqldst_ydhz.Open;
DM_Find2.cds_ydhz.Open;

第一次执行正常,再次执行时报错:
ORA-06550: line 2, column 3:
PLS-00306: wrong number or types of arguments in call to 'FIND_YDHZ'
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored.

存储过程经测试没问题,而且报错时,存储过程执行正常.经测试发现,打开sqldst_ydhz时正常,是在打开cds_ydhz时报错.
期待高手的指点,非常感谢!!!
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
njypch 2009-08-26
  • 打赏
  • 举报
回复
1楼回答正确.本来我也是先关闭再处理参数的,后来
测试过程中把关闭动作移动到后面来的.唉,人年纪大了,就是容易犯低级错误.
谢谢大家啊.
njypch 2009-08-26
  • 打赏
  • 举报
回复
要这么简单就好了.
我代码里已经有了关闭动作啊.
----//DM_Find2.sqldst_ydhz.Close;
DM_Find2.cds_ydhz.close;

我试过,在事件中增加关闭数据库连接,再打开,还是一样.
sandy520 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
先关掉cds_ydhz试试
因为第一次,cds_ydhz默认是关闭的,
第二次cds_ydhz已经出于打开状态
[/Quote]
来晚了,我也认为就是这个原因。
bdmh 2009-08-26
  • 打赏
  • 举报
回复
先关掉cds_ydhz试试
因为第一次,cds_ydhz默认是关闭的,
第二次cds_ydhz已经出于打开状态
火龙岛主 2009-08-26
  • 打赏
  • 举报
回复

DM_Find2.cds_ydhz.close;
DM_Find2.cds_ydhz.Params.Clear;
DM_Find2.cds_ydhz.Params.CreateParam(ftString, 'startdate', ptInput);
DM_Find2.cds_ydhz.Params.CreateParam(ftString, 'enddate', ptInput);
DM_Find2.cds_ydhz.Params.CreateParam(ftCursor, 'rc', ptOutput);
DM_Find2.cds_ydhz.Params.ParamByName('startdate').Value := FormatDateTime('yyyymmdd',StrToDate(StartDate));
DM_Find2.cds_ydhz.Params.ParamByName('enddate').Value := FormatDateTime('yyyymmdd',StrToDate(EndDate));
DM_Find2.cds_ydhz.Open;

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧