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的设计理念而设计 ...
随机推荐
- 配置wamp开发环境【1】
新手在PHP网站建设时,会使用使用PHP的集成开发环境,这样利于开发和理解!但是做为一个网站开发人员,会独立的配置开发环境这是必须的……因为集成的环境毕竟是固定的,不利于自己的开发.好,废话少说咱现在 ...
- sql server获取当前日期
SqlServer中得到当前日期(convert函数,getdate函数)函数GETDATE()的返回值在显示时只显示到秒.实际上,SQL Sever内部时间可以精确到毫秒级(确切地说,可以精确到3. ...
- 关于Java的一道内存的题目
import java.util.Arrays; import java.util.EmptyStackException; public class MyStack<T> { priva ...
- cmake简易教程
用cmake替代makefile,构建项目还是蛮简单实用的. 工程目录下src放源代码,build保存所有的编译过程和结果. 首先看看src目录下的源代码结构: 最顶层CMakeLists.txt内容 ...
- 实习之vim基本学习
最近实习学到了写vim的基本用法,记录一下 批量注释 ctrl+v进入列模式,按“I”进入插入模式,按// #等在每行开头插入注释,esc 批量去除注释 ctrl + v 进入列模式,按“x”即可. ...
- Data Abstraction
What is an object? (Page 238) In C++, an object is just a variable, and the purest definition is &qu ...
- mysql主要应用场景 转载
前言 据说目前MySQL用户已经达千万级别了,其中不乏企业级用户.可以说是目前最为流行的开源数据库管理系统软件了.任何产品都不可能是万能的,也不可能适用于所有的应用场景.那么MySQL到底在什么场景下 ...
- Apache 禁止访问目录
1.打开apache配置文件httpd.conf 2.找到 <Directory /> Options Indexes AllowOverride None Order allow,den ...
- php 删除语句
if($query&&mysql_affected_rows())echo('数据已被删除');else echo('错误,无法删除'); 通过返回影响的行数 来判断是否已经删除
- 搭建hive到eclipse里面
(1)下载源码 git clone https://git-wip-us.apache.org/repos/asf/hive.git git clone https://github.com/apac ...