起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 292|回复: 8

【搞定】调用ORACLE存储过程出错!!!急急急**

[复制链接]
发表于 2007-1-31 10:34:13 | 显示全部楼层 |阅读模式
开发平台版本是:1532
ORACLE存储过程声明如下:
create or replace procedure pjk_zx_zcqwsp(
        str_guid in varchar2,   --传入的参数
    successful out boolean,   --传出的参数
    str_ErrInfro out varchar2) is   --传出的参数
在调用的时候用的下面的方法
lStoredProcDataSet的名字就是DataSetCCGCSJJ
---------------------------------------
    DataSetCCGCSJJ.Close;  
  DataSetCCGCSJJ.Params.Clear;
  lDataParam1 := DataSetCCGCSJJ.Params.CreateParam(TFieldType.ftString, 'str_guid', TParamType.ptInput);
  lDataParam1.AsString := sFlowGuID;
  lDataParam2 := DataSetCCGCSJJ.Params.CreateParam(TFieldType.ftBoolean, 'successful', TParamType.ptResult);
  lDataParam3 := DataSetCCGCSJJ.Params.CreateParam(TFieldType.ftString, 'str_ErrInfro', TParamType.ptResult);
  DataSetCCGCSJJ.Open;  //执行到这里就出错
  bSucceed := DataSetCCGCSJJ.Fields[1].AsBoolean;
  sError   := DataSetCCGCSJJ.Fields[2].AsString;
------------------------------------
对于CCGCSJJ,我在属性里设置了数据库和存储过程名,所以在代码里没有重复进行设置,
但第次执行到OPEN的时候就出错,请问如何解决

proError.jpg

237.86 KB, 下载次数: 112

回复

使用道具 举报

发表于 2007-1-31 11:09:43 | 显示全部楼层
存储过程数据集是返回游标的,不能用于执行不返回游标的存储过程应该用另外一个存储过程控件!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 11:19:44 | 显示全部楼层
那对于我这种情况,需要返回两个值的情况应该用什么控件呢?
最好将该控件的调用方法也贴出来
回复 支持 反对

使用道具 举报

发表于 2007-1-31 11:39:20 | 显示全部楼层
需要在oracle中定义返回游标的函数
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 11:48:45 | 显示全部楼层
需要在oracle中定义返回游标的函数????
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 11:52:09 | 显示全部楼层
怎么做??能不能给个例子供参考???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 14:47:25 | 显示全部楼层
如果我的返回游标是:Open AResult For Select '0' suc,str_ErrInfro inf From dual;  
如何得到返回的游标里的各项的值呢??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 15:06:22 | 显示全部楼层
问题已解决,可以结贴了
回复 支持 反对

使用道具 举报

发表于 2007-2-7 09:30:02 | 显示全部楼层
如果可以,请把解决的方法共享一下吧,搂住,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-24 21:35 , Processed in 0.040801 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表