专栏首页微卡智享c# 调用Oracle带有游标的存储过程

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

前言

我们在写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-

本文分享自微信公众号 - 微卡智享(VaccaeShare),作者:Vaccae

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【干货】SQL SERVER2008存储过程加密与解密

    我们在设置数据库存储过程时经常会用到加密,如果遇到版本更新需要修改存储过程时,如果设计数据库时的存储过程没有留存,所以就必须用到存储过程的解密了,原来自己有个解...

    Vaccae
  • 学习|Android使用TTS语音合成

    所谓活到老,学到老,本篇开始我写的Android代码尽量都转为Android指定的官方语言Kotlin,一是技多不压身,二是Kotlin的语法与我接触的第一门开...

    Vaccae
  • Android的RecyclerView不规则Grid显示

    前面我们有介绍RecyclerView的使用,详见《Android中RecyclerView嵌套RecyclerView》,这一篇我们来讲讲RecyclerVi...

    Vaccae
  • 1分钟生成Net对象的注释

          我们在开发过程中,肯定会有几个项目作为基础项目,存放一些比较常用的类和方法,供其他项目使用.一般来说,方法实现以后,就不想再去管它了,以致于新加入的...

    用户1219352
  • Oracle存储结构

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    suveng
  • 拜占庭将军:背后的数学证明

    上一讲中拜占庭将军:分布式领域的幽灵,我们介绍了著名的拜占庭将军问题的由来及其结论:

    Oilbeater
  • HTML(2)

    py3study
  • NRedis-Proxy 高性能Redis 中间件服务原理解析

    受飞凡电商技术负责人刘兵先生的独家授权,在csdn博客我原创发表《NRedis-Proxy 高性能Redis 中间件服务》的架构原理,以及项目开源介绍。 一、...

    小程故事多
  • Kubernetes API 访问控制

    可以使用kubectl、客户端库方式对REST API的访问,Kubernetes的普通账户和Service帐户都可以实现授权访问API。API的请求会经过多个...

    kubernetes中文社区
  • 【OCP最新题库解析(052)--题58】Which three are true about the Automatic

    该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。

    小麦苗DBA宝典

扫码关注云+社区

领取腾讯云代金券