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存储过程的更多相关文章

  1. MyBatis调用Oracle存储过程

    MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...

  2. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  3. C#调用Oracle存储过程

    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...

  4. C#调用 oracle存储过程

    C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例: /// <summary> /// 判断物料类型是不是总部管控 /// </summa ...

  5. 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  6. c#调用oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  7. C#调用Oracle存储过程的方法

    C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST(  ID      NUMBER,//编号  NA ...

  8. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  9. python调用oracle存储过程

    oracle 存储过程 python调用oracle存储过程 -- 通过cx_Oracle连接 import cx_Oracle # 连接数据库 orcl_engine = 'scott/s123@x ...

随机推荐

  1. 学习MVC框架的步骤

    1.搭建环境 2.了解控制层和视图层的映射 3.控制层和视图层的传值 交互 4.异常处理 5.页面标签 6.文件上传 7.框架源代码

  2. ElasticSearch 的 聚合(Aggregations)

    Elasticsearch有一个功能叫做 聚合(aggregations) ,它允许你在数据上生成复杂的分析统计.它很像SQL中的 GROUP BY 但是功能更强大. Aggregations种类分为 ...

  3. 视频相关android软件

    1. 视频解码工具:ffmpeg, http://www.ffmpeg.org/ 2. java有一个开源程序: yoyoPlayer, 可以到这个代码中去学习相关的音频知识.http://www.b ...

  4. 常见的MIME类型

    超文本标记语言文本 .htm,.html text/html 普通文本 .txt text/plain GIF图形 .gif image/gif JPEG图形 .ipeg,.jpg image/jpe ...

  5. Arch Linux 修改主机名称

    Hostname Set the hostname to your liking (e.g. arch): # echo myhostname > /etc/hostname Add the s ...

  6. fw: firefox plugin

    http://blog.csdn.net/fancycow/article/details/7261191 firefox的插件分两种类型,一种extension,叫扩展,一种是plugin,我们叫插 ...

  7. 关闭linux下的使用的端口

    lsof -P -n -i kill pid 另外防火墙 iptables之类的也可以关闭端口

  8. 初探appium之appium的使用

    上一篇中已经讲了python+appium的环境搭建.这里简单的讲一下appium的使用. 我也是第一次使用appium,看了教程问了人.知道appium可以通过模拟也可以连接上手机使用.本篇中,先使 ...

  9. Java程序员面试宝典1 ---Java基础部分(该博文为原创,转载请注明出处)

    (该博文为原创,转载请注明出处   http://www.cnblogs.com/luyijoy/  by白手伊凡) 1.    基本概念 1)         Java为解释性语言,运行过程:程序源 ...

  10. 图形设备接口(GDI)

    图形设备接口(GDI,Graphics Device Interface)负责在显示器和打印机上显示图形.GDI 是由几百个函数和一些相关的数据类型.宏和结构构成的.Windows 98/NT 中的图 ...