C#执行参数为游标 返回一个记录集的Oracle存储过程
public DataTable SelectPay_Unit()
{ string returns = "";
DataTable objDataTable = new DataTable();//定义一个DataTable
try
{
//string connectionString = "Data Source=ORCL_201;User ID=XACXEQ_PeiXun;Password=11111;";
string connectionString = System.Configuration.ConfigurationManager.AppSettings["CoonString"].ToString();//连接字符串
OracleConnection con = new OracleConnection(connectionString);
con.Open();//打开连接
OracleCommand cmd = new OracleCommand("Proc_PXUnit_Pay", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter op = new OracleParameter("cur_arg", OracleType.Cursor);//定义参数
op.Direction = ParameterDirection.Output;//设置参数类型
cmd.Parameters.Add(op); int intFieldCount = cmd.ExecuteReader(CommandBehavior.CloseConnection).FieldCount;
for (int intCounter = ; intCounter < intFieldCount; ++intCounter)
{
objDataTable.Columns.Add(cmd.ExecuteReader(CommandBehavior.CloseConnection).GetName(intCounter), cmd.ExecuteReader(CommandBehavior.CloseConnection).GetFieldType(intCounter));
} objDataTable.BeginLoadData(); object[] objValues = new object[intFieldCount];
while (cmd.ExecuteReader(CommandBehavior.CloseConnection).Read())
{
cmd.ExecuteReader(CommandBehavior.CloseConnection).GetValues(objValues);
objDataTable.LoadDataRow(objValues, true);
}
cmd.ExecuteReader(CommandBehavior.CloseConnection).Close();
objDataTable.EndLoadData();
//OracleConnection conn=new OracleConnection ("")
// Database db = DatabaseFactory.CreateDatabase("DJG_PeiXun_ConnectionString");
//OracleCommand cmd = db.GetStoredProcCommand("Proc_PXUnit_Pay");
//db.AddInParameter(cmd,"cursor",OracleType.Cursor);
//ds = db.ExecuteDataSet(cmd);
}
catch (Exception ex)
{
returns = ex.ToString();
}
return objDataTable;
}
C#执行参数为游标 返回一个记录集的Oracle存储过程的更多相关文章
- oracle学习-存储过程返回一个值,和返回一个结果集
一.返回一个值 --创建存储过程 create or replace procedure sp_hu_test(spcode in varchar2,spname out varchar2)is be ...
- sql中存储过程打印返回的记录集
declare --返回结果,记录类型 ret sys_refcursor; --定义一种类型,用来存放返回的记录 type typ_row ), QUEUEID ), QUEUE_NAME )); ...
- exec sp_spaceused如何只返回一个结果集(转载)
问: 我想把每天数据库的大小自动保存到table中但是exec sp_spaceused是返回2个表,执行下面的语句出错,如何解决? drop table db_size go create tabl ...
- 使用 oracle pipelined 返回一个结果集;
1.使用 create or replace package refcursor_pkg is -- Author : mr.yang -- Created : 5/14/2017 5:13:42 P ...
- [oracle]一个最简单的oracle存储过程"proc_helloworld"
1.编写.编写一个最最简单的存储过程,给它起个名字叫做proc_helloworldCREATE OR REPLACE PROCEDURE proc_helloworldISBEGIN DBMS_ ...
- Oracle 存储过程调用返回游标的另一个存储过程。
一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查 ...
- PB中用oracle的存储过程返回记录集做数据源来生成数据窗口,PB会找不到此存储过程及不能正常识别存储过程的参数问题(转)
(转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. ...
- Entity Framework 6 Recipes 2nd Edition(10-1)译->非Code Frist方式返回一个实体集合
存储过程 存储过程一直存在于任何一种关系型数据库中,如微软的SQL Server.存储过程是包含在数据库中的一些代码,通常为数据执行一些操作,它能为数据密集型计算提高性能,也能执行一些为业务逻辑. 当 ...
- Struts 2.3.24源码解析+Struts2拦截参数,处理请求,返回到前台过程详析
Struts2官网:http://struts.apache.org/ 目前最新版本:Struts 2.3.24 Struts1已经完全被淘汰了,而Struts2是借鉴了webwork的设计理念而设计 ...
随机推荐
- 关于php的一些开源程序
最好用的当属thinksns,目前更新到4.3.4, 社交型网站. 此网站提供大量源码,有时间可以去看看:http://down.admin5.com/
- TCPIP通信
最近在开发TCPIP通信,封装了3个类,望各位大神指点指点. using System; using System.Collections.Generic; using System.Text; us ...
- 动画特效的原生、jQ和CSS3方法
最近一直在看运动的JS特效,主要看的是原生写法,太麻烦了,最终看到写了个运动的方法,后面可以直接引用,然后发现这个方法和jQ其实差不多了,代码分别如下: 基本的HMTL和CSS <!DOCTYP ...
- 求LR(0)文法的规范族集和ACTION表、GOTO表的构造算法
原理 数据结构 // GO private static Map<Map<Integer,String>,Integer> GO = new HashMap<Map< ...
- thinkphp路径引用问题
查看ThinkPHP\Library\Behavior\ContentReplaceBehavior.class文件,常量定义如下定义: '__ROOT__' => __ROOT__ ...
- Day21 Django之Form文件上传、原生Ajax和实现抽屉实例
一.Form文件上传 """ Django settings for prev_chouti project. Generated by 'django-admin st ...
- NWERC 2012 Problem E Edge Case
比赛的时候刷了一点小聪明,发现这个数列是卢卡斯数,一个递推关系像斐波拉契数列的数列: 我不知道怎么证明,如果哪天无意中会证了再加上: 这题唯一的难点就是大数运算: 直接用JAVA 代码: import ...
- javascript for
var k = ["a", "b", "c", false]; for(var i = 0, m; m = k[i]; i++) { con ...
- Spring 4 and MyBatis Java Config
TL;DR With the Java Config enhancements in Spring 4, you no longer need xml to configure MyBatis for ...
- oracle的存储过程语法(转)
1.ORA-00942: table or view does not exist 指的你要操作的表尚未存在,需要先create出来先. 2.ORA-00922: missing or invalid ...