前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c# 调用Oracle带有游标的存储过程

c# 调用Oracle带有游标的存储过程

作者头像
Vaccae
发布2019-07-25 14:26:49
2K0
发布2019-07-25 14:26:49
举报
文章被收录于专栏:微卡智享微卡智享

前言

我们在写Oracle存储过程时经常会需要返回数据,像这种方式一般都输出游标的方式。我们今天就来做个用C#程序调用Oracle带有游标输出的存储过程并展示出数据。

存储过程

我们先在我们的Oracle数据库里编写一个简单的存储过程,名称为sTest,有一个输入参数ps_SaleNo,三个输出参数分别是pi_Result,ps_Message,pc_cursor 如下图:


其中CCurType类型就是我们定义的输出游标变量


上面蓝框的语句就是输出的游标的数据集,我们把这一句单独摘出来查询一下,可以看到返回的结果,如下图:

代码实现

我们打开VS2017,然后新建一个C#的项目名称为TestOraCursor。

1.引用Oracle.ManagedDataAccess

要调用带游标的存储过程,我们必须要引用Oracle.ManagedDataAccess,有两个原因:

  • 不需要安装OracleClient的客户端
  • 原来自带的OracleClient的参数类型里面没有RefCursor类型,无法实现调用返回游标的存储过程

我们在程序的引用处右键选择管理NuGet的程序包。

然后在浏览处输入Oracle查找,找到Oracle.ManagedDataAccess进行下载。


2.创建窗体

新建一个窗体FrmTest,在窗体上添加一个Button和一个textbox控件,如下图:


我们双击按钮事件,进行代码的编写

上面的红框是数据库的连接设置,下面的红框是执行存储过程的方法。


4.核心代码


接下来我们看看运行起来后的效果

对比一下前面我们的查询结果,完全一致。


-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档