打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#中使用Oracle存储过程返回结果集

在MSSQLServer中定义的存储过程可以直接返回一个数据集,如:

在Oracle数据库中这样定义是错误的,怎么解决?

办法:

Oracle中可以使用游标(Cursor)对数据集进行操作,但在存储过程输出参数中直接使用Cursor错误,此时的Cursor应该是一个定义游标的关键字并非类型,所以先要定义一个包,在包中声明全局的自定义游标类型,如:

这个包(package)有点类似OO中的接口,C++中的文件头,实现这个包时叫包体(package body),且名称要相同,如:

定义成功,且编译通过,就可以先在Oracle中测试,如:

如果运行上面的PL/SQL过程脚本能取到结果,说明定义的包与包体的实现就成功了,可以使用.NET,Java或其它程序访问定义好的存储过程,如使用C#访问存储过程的脚本如下:

注意项目要添加引用程序集:System.Data.OracleClient,代码中也要using;另外如果使用sql语句在C#中作为字符串出现时尽量不要换行,也不要以分号结尾。上面访问数据库的代码没有封装,返回DataSet,DataTable也可以,示例代码如下:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
oracle创键数据库与存储过程、表记录索引
Oracle官方示例---Java 存储过程示例代码区
Spring如何使用JdbcTemplate调用存储过程的三种情况
Java调用存储过程
一是数据库,数据库是一
所有设计复杂的ORM都是浮云
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服