原文 Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset

DataSet相当你用的数据库; DataTable相当于你的表。一个 DataSet 可以包含多个 DataTable。如果用datatable只适合返回一个结果集(游标)的信息。

例:

public DataSet Get_TRAFeeQinfenStatus(int type, string BargainOrderCode, string ParkUserId, string BerthCode){ OracleParameter[] parms = {    new OracleParameter("VRETURN_LIST1", OracleType.Cursor),new OracleParameter("VRETURN_LIST2", OracleType.Cursor),new OracleParameter("VRETURN_LIST3", OracleType.Cursor),new OracleParameter("Vtype", OracleType.Number),new OracleParameter("VBargainOrderCode", OracleType.VarChar),new OracleParameter("VParkUserId", OracleType.VarChar),new OracleParameter("VBerthCode", OracleType.VarChar)};parms[0].Direction = ParameterDirection.Output;parms[1].Direction = ParameterDirection.Output;parms[2].Direction = ParameterDirection.Output;parms[3].Value = type;parms[4].Value = BargainOrderCode;parms[5].Value = ParkUserId;parms[6].Value = BerthCode;DataSet ds = OracleHelper.ExecuteDataset(CommandType.StoredProcedure, string.Format("{0}.GET_TRAFEEQINFENSTATUS", CADRE_SZRPP_PK), parms);return ds;}

oracle存储过程实现:

 PROCEDURE GET_TRAFEEQINFENSTATUS(VRETURN_LIST1 OUT OUTPUTLIST,--查退费单VRETURN_LIST2 OUT OUTPUTLIST,--查欠费单VRETURN_LIST3 OUT OUTPUTLIST,--缴费记录VTYPE IN INTEGER DEFAULT NULL,VBARGAINORDERCODE IN TRA_ORDERPAYMENTINFO.BARGAINORDERCODE%TYPE DEFAULT NULL, VPARKUSERID IN TRA_ORDERPAYMENTINFO.PARKUSERID%TYPE DEFAULT NULL,VBERTHCODE IN TRA_ORDERPAYMENTINFO.BERTHCODE%TYPE DEFAULT NULL)ISVTYPENUMBER  INTEGER;VPAYSTATUS   NVARCHAR2(4000);VARREARSSTATUS NVARCHAR2(4000);VREFUNDSTATUS  NVARCHAR2(4000);BEGINSELECT  VTYPE INTO VTYPENUMBER FROM DUAL;IF (VTYPENUMBER=2)THEN      OPEN VRETURN_LIST1  FOR SELECT REFUNDSTATUS,PAYSTATUS FROM  TRA_REFUNDORDER  WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE;--解决: ORA-24338: 未执行语句句柄  一定要进行对游标输出参数值赋值ELSE  OPEN VRETURN_LIST1 FOR SELECT VREFUNDSTATUS AS REFUNDSTATUS,VPAYSTATUS AS PAYSTATUS  FROM DUAL;END IF;IF (VTYPENUMBER=3 )THENOPEN VRETURN_LIST2  FORSELECT ARREARSSTATUS FROM  TRA_ARREARSORDER WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE;ELSE   OPEN VRETURN_LIST2 FOR SELECT VARREARSSTATUS AS ARREARSSTATUS  FROM DUAL;END IF;IF (VTYPENUMBER=5 )THENOPEN VRETURN_LIST3  FOR SELECT PAYSTATUS FROM TRA_ORDERPAYMENTINFO WHERE BARGAINORDERCODE=VBARGAINORDERCODEAND PARKUSERID=VPARKUSERID AND BERTHCODE=VBERTHCODE;     ELSE   OPEN VRETURN_LIST3 FOR SELECT VPAYSTATUS AS PAYSTATUS  FROM DUAL;END IF;END;

转载于:https://www.cnblogs.com/arxive/p/5959478.html

Oracle存储过程实现返回多个结果集 在构造函数方法中使用 dataset相关推荐

  1. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  2. java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)

    oracle中procedure是不能有返回值的,要想返回值,就得有输出参数,同样要想返回记录集,可以把游标类型作为输出参数. 下面是详细情况说明: 一:无返回值的存储过程调用 存储过程: creat ...

  3. oracle存储过程没有返回值,Java调用Oracle存储过程(无返回值)

    无返回值: 1:创建存储过程 此存储过程向表中插入一条数据 create or replace procedure demo_procedure(id varchar2,name varchar2,a ...

  4. jpa调用mysql函数_Spring data jpa 调用存储过程处理返回参数及结果集(示例代码)

    一.环境 1.此随笔内容基于spring boot整合的spring data jpa项目, 2.数据库为mysql 5.7.9版本 二.内容 1. 新建存储过程 pro_query_object B ...

  5. JDBC Mybatis 调用 ORACLE 存储过程 函数 返回 varray 类型 function return varray out varray

    ORACLE中使用VARRAY解决字符串数组问题 博客分类: ORACLE/MYSQL总结 OracleSQLJDBCCC++ 如何从 PL/SQL 存储函数中返回数组类型 思路:在 Oracle 数 ...

  6. Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)

     一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGIN ...

  7. Oracle存储过程学习

    Oracle存储过程学习 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1 ...

  8. oracle存储过程学习经典[语法+实例+调用]

    Oracle存储过程基础知识 商业规则和业务逻辑可以通过程序存储在Oracle中,这个程序就是存储过程. 存储过程是SQL, PL/SQL, Java 语句的组合,它使你能将执行商业规则的代码从你的应 ...

  9. Oracle 存储过程,Hibernate 调用存储过程,JDBC调用存储过程,Oracle 动态SQL

    Oracle 存储过程学习 目录 Oracle 存储过程........................................................................ ...

最新文章

  1. linux驱动:音频驱动(四)ASoc之machine设备
  2. 零基础如何掌握web前端开发技能
  3. 华为认证网络互连专家-HCIE-RS模拟试卷
  4. 编java用jdk还是editplus_怎样运用EditPlus进行配置Java编译环境
  5. Bete冲刺第五阶段
  6. npm修改淘宝镜像飞速下载,npm install过程速度优化,npm删除镜像恢复默认
  7. BugKuCTF 杂项 啊哒
  8. 关于UAC执行级别的研究
  9. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块...
  10. 软件工程——个人课程总结
  11. arp 不同网段 相同vlan_同vlan不同网段能否ping通?
  12. 深度学习之卷积神经网络CNN
  13. windows--bat--设置变量的方法
  14. Miktex + WinEdit 实现LaTeX写论文
  15. Eclipse常用开发插件(转)
  16. 在线音乐播放器 --- 图片上传
  17. 【180629】VC++ QQ头像连连看游戏源码
  18. 31.Silverlight中WebClient+StreamResourceInfo+反射实现动态加载外部XAP程序
  19. 代码实证:风险平价及其改进思路——主成分风险平价
  20. 关于职场,你需要不断拼搏

热门文章

  1. a=10a=0C语言,C语言基础练习题(含答案)
  2. for循环优化_前端js if判断以及for循环该如何写的更好,优化upup
  3. EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级
  4. Morphling:云原生部署 AI ,如何把降本做到极致?
  5. html css盒子顶层,HTML学习之四CSS盒子
  6. java sqlldr导入_使用SQL*LOADER将TXT或CSV数据导入ORACLE(转)
  7. 黑php的称呼,称呼
  8. python写元旦快乐_用Python在00:00给微信好友发元旦祝福语
  9. php网站入门鹿泉银山,01PHP编程新手入门第一步
  10. python 列表生成式_深度好文:Python之列表生成式、生成器、可迭代对象与迭代器(一)...