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. [ActionScript 3.0] AS3.0 给flash事件传递参数的方法

    有时我们想要给flash内置的事件(比如MouseEvent)传递参数,这时我们可以用到下面的方法. import flash.events.MouseEvent; mc.addEventListen ...

  2. ArcGIS栅格数据的合并和剪切

    ArcGIS栅格数据的合并和剪切 1.  合并:ArcToolBox-- àDataManagement--à Raster--àRaster Dataset--à Mosaic 或 Mosaic t ...

  3. Net文章汇总帖

    DevExpress:Data Grid ExamplesHow to: Initialize Cells in Newly Created RowsHow to: Set a Cell Value ...

  4. 【原】基于64位Centos6.2的mcrouter使用简介

    此文转载必须注明原文地址,请尊重作者的劳动成果!  http://www.cnblogs.com/lyongerr/p/5040071.html 目录 文档控制... 2 1 mcrouter简介.. ...

  5. MyEclipse 6.5 破解文件代码

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public cl ...

  6. 多媒体编程基础之RGB和YUV

    一.概念 1.什么是RGB? 对一种颜色进行编码的方法统称为“颜色空间”或“色域”.用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量.RGB(红.绿.蓝)只是众多颜色空间 ...

  7. SDUT 3311 数据结构实验之串三:KMP应用

    数据结构实验之串三:KMP应用 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 有n个小朋友 ...

  8. Java基本概念(未完)

    仅简单总结~辅助快速回忆~ 一.JVM 1,Java类加载机制 Java程序由多个类文件组成,按需加载. Java的动态扩展是由运行期动态加载和动态链接实现的.——动态绑定,多态. 加载步骤: 1)装 ...

  9. 博客中 Flex4/Flash mp3音乐播放器实例 含演示地址

    要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...

  10. Mistral 工作流组件之一 概述

    Mistral的前世今生:  Mistral是Mirantis公司为Openstack开发的工作流组件,提供Workflow As a Service.典型的应用场景包括任务计划服务Cloud Cro ...