前言
我们在写Oracle存储过程时经常会需要返回数据,像这种方式一般都输出游标的方式。我们今天就来做个用C#程序调用Oracle带有游标输出的存储过程并展示出数据。
存储过程
我们先在我们的Oracle数据库里编写一个简单的存储过程,名称为sTest,有一个输入参数ps_SaleNo,三个输出参数分别是pi_Result,ps_Message,pc_cursor 如下图:
其中CCurType类型就是我们定义的输出游标变量
上面蓝框的语句就是输出的游标的数据集,我们把这一句单独摘出来查询一下,可以看到返回的结果,如下图:
代码实现
我们打开VS2017,然后新建一个C#的项目名称为TestOraCursor。
1.引用Oracle.ManagedDataAccess
要调用带游标的存储过程,我们必须要引用Oracle.ManagedDataAccess,有两个原因:
我们在程序的引用处右键选择管理NuGet的程序包。
然后在浏览处输入Oracle查找,找到Oracle.ManagedDataAccess进行下载。
2.创建窗体
新建一个窗体FrmTest,在窗体上添加一个Button和一个textbox控件,如下图:
我们双击按钮事件,进行代码的编写
上面的红框是数据库的连接设置,下面的红框是执行存储过程的方法。
4.核心代码
接下来我们看看运行起来后的效果
对比一下前面我们的查询结果,完全一致。
-END-