wcf调用oracle存储过程
public IList<ACCP_RAIN> QueryAll(string beginTime, string endTime, string type)
{
beginTime = "2012-1-1"; endTime = "2014-10-10"; type = "ZQ";
List<ACCP_RAIN> list = new List<ACCP_RAIN>();
DbDataReader reader = null; try
{
OracleParameter[] paras = new OracleParameter[];
OracleParameter para1 = new OracleParameter("ptm1", OracleType.VarChar);
para1.Value = beginTime;
OracleParameter para2 = new OracleParameter("ptm2", OracleType.VarChar);
para2.Value = endTime;
OracleParameter para3 = new OracleParameter("retp", OracleType.VarChar);
para3.Value = type;
OracleParameter para4 = new OracleParameter("p_cur", OracleType.Cursor);
para4.Direction = ParameterDirection.Output;
paras[] = para1;
paras[] = para2;
paras[] = para3;
paras[] = para4; DbConnection conn = DbFactory.GetDbCon();
conn.Open();
DbTransaction trans = conn.BeginTransaction();
reader = (DbHelper as OracleHelper).ExecuteReader(conn, trans, CommandType.StoredProcedure, "GETDRP.PROC_GETDRP", paras);
while (reader.Read())
{
list.Add(SqlDataToEntity.ToEntity<ACCP_RAIN>(reader));
}
trans.Dispose();
conn.Close();
conn.Dispose();
}
catch (Exception ex)
{
return null;
}
finally
{
if (reader != null) reader.Close();
}
return list;
}
public DbDataReader ExecuteReader(DbConnection connection, DbTransaction trans, CommandType commandType, string commandText, params DbParameter[] cmdParms)
{
DbDataReader reader2;
OracleCommand cmd = new OracleCommand();
if ((cmdParms != null) && (cmdParms.Length == ))
{
cmdParms = null;
}
try
{
PrepareCommand((OracleConnection)connection, (OracleTransaction)trans, cmd, commandType, commandText, (OracleParameter[])cmdParms);
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
reader2 = reader;
}
catch (Exception exception)
{
connection.Dispose();
throw exception;
}
finally
{
cmd.Dispose();
}
return reader2;
}
private static void PrepareCommand(OracleConnection connection, OracleTransaction trans, OracleCommand cmd, CommandType cmdType, string cmdText, OracleParameter[] cmdParms)
{
if (trans == null)
{
cmd.Connection = connection;
}
else
{
cmd.Connection = trans.Connection;
cmd.Transaction = trans;
}
if (cmd.Connection.State != ConnectionState.Open)
{
cmd.Connection.Open();
}
cmd.CommandType = cmdType;
cmd.CommandText = cmdText;
cmd.CommandTimeout = ;
if (cmdParms != null)
{
foreach (OracleParameter parameter in cmdParms)
{
cmd.Parameters.Add(parameter);
}
}
}
wcf调用oracle存储过程的更多相关文章
- MyBatis调用Oracle存储过程
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...
- Java调用oracle存储过程通过游标返回临时表数据
注:本文来源于 < Java调用oracle存储过程通过游标返回临时表数据 > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...
- C#调用Oracle存储过程
C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...
- C#调用 oracle存储过程
C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例: /// <summary> /// 判断物料类型是不是总部管控 /// </summa ...
- 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS ...
- c#调用oracle存储过程返回数据集
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS ...
- C#调用Oracle存储过程的方法
C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST( ID NUMBER,//编号 NA ...
- Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13| 分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...
- python调用oracle存储过程
oracle 存储过程 python调用oracle存储过程 -- 通过cx_Oracle连接 import cx_Oracle # 连接数据库 orcl_engine = 'scott/s123@x ...
随机推荐
- Servlet中的配置 web.xml
url-pattern配置 可以为同一个Servlet配置多个url-pattern: <servlet> <servlet-name>DoGetPostDemo</se ...
- J2EE 和javaweb有区别吗
java web是java对web开发的一种总和称呼.他是B/S模式,对应的是C/S模式: java ee,又叫j2ee是一种广泛使用的平台,包含了一组协调技术,可显著降低成本以及开发.部署和管理以服 ...
- Delphi同步互斥总结
多个线程同时访问一个共享资源或数据时,需要考虑线程同步,Synchronize()是在一个隐蔽的窗口里运行,如果在这里你的任务很繁忙,你的主窗口会阻塞掉:Synchronize()只是将该线程的代码放 ...
- Inno Setup中做补丁通过注册表获取原程序安装目录
今天找VM补丁看到的,是个innosetup封装的,所以习惯性的喜欢去看人家的iss文件是怎么编写的. DefaultDirName={reg:HKLM\SOFTWARE\VMware%2c%20In ...
- 使用tcpdump+Wireshark(或Fiddler)做linux服务器的网络请求分析
我们的服务器上,一般都没有窗口界面,这时候要抓包,用tcpdump是最方便的.而分析网络请求时,wireshark又是相当方便的,这时候我们就需要把它们两个一起来使用了. tcpdump 抓取数据 命 ...
- EXt form属性
配置项: success:执行成功后回调的函数,包括两个参数:form和action failure:执行失败后回调的函数,包括两个参数:form和action method:表单的提交方式,有效值包 ...
- @SessionAttributes与HttpSession
SessionAttributes注解将model中与它同名的属性保存在HttpSession中. 在controller的方法执行完毕后处理SessionAttributes注解并保存的,是Hand ...
- ipv6 测试
# ifconfig wlp0s29f7u6: .... ... inet6 fe80::a00:20ff:fe9d:5c55 prefixlen 64 scopeid 0x20<link> ...
- HQL: Hibernate查询语言
HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL.但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可 ...
- SparkSQL External Datasource简易使用之CSV
下载源码&编译: git clone https://github.com/databricks/spark-csv.git sbt/sbt assembly Maven GAV: group ...