1.Oracle 封装类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oracle.ManagedDataAccess.Client;
using System.Data;
using System.Data.SqlClient; namespace OracleHelper
{
public static class OracleSQLHelper
{
//从配置文件中获取连接字符串 readonly修饰的变量只能在初始化或构造函数中赋值;其他地方只能读取
//private static readonly string constr = ConfigurationManager.ConnectionStrings["OperationHistory"].ConnectionString;
//private static readonly string constr = "Data Source=DELLYS;Initial Catalog=ceshi;User=sa;PassWord=123";
private static string constr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=130.147.246.144)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ECMS)));Persist Security Info=True;User ID=system;Password=Service01;"; /// <summary>
/// 增、删、改的方法[ExecuteNonQuery] 返回所影响的行数,执行其他
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, CommandType cmdtype, params OracleParameter[] pms)
{
int i = -;
try
{
using (OracleConnection con = new OracleConnection(constr))
{
using (OracleCommand cmd = new OracleCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
i = cmd.ExecuteNonQuery();
}
}
}
catch (Exception)
{
throw;
} return i;
} /// <summary>
/// 执行查询、查询多少条数据;返回第一行,第一列方法[ExecuteScalar] 返回-1执行失败
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, CommandType cmdtype, params OracleParameter[] pms)
{
try
{
using (OracleConnection con = new OracleConnection(constr))
{
using (OracleCommand cmd = new OracleCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} con.Open();
return cmd.ExecuteScalar();
}
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 执行查询,返回多行、多列的方法ExecuteReader()
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms"></param>
/// <returns></returns>
public static OracleDataReader ExecuteReader(string sql, CommandType cmdtype, params OracleParameter[] pms)
{
using (OracleConnection con = new OracleConnection(constr))
{
using (OracleCommand cmd = new OracleCommand(sql, con))
{
//存储过程或者Sql语句
cmd.CommandType = cmdtype;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
} try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch
{
con.Close();
con.Dispose();
throw;
}
}
}
} /// <summary>
/// 执行返回多个查询时使用,返回DataTable类型
/// </summary>
/// <param name="sql">Sql命令</param>
/// <param name="cmdtype">SQL语句(CommandType.Text)或者存储过程(CommandType.StoredProcedure)</param>
/// <param name="pms">参数</param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string sql, CommandType cmdtype, params OracleParameter[] pms)
{
DataTable dt = new DataTable();
try
{
//通过adapter读取数据。
using (OracleDataAdapter adapter = new OracleDataAdapter(sql, constr))
{
adapter.SelectCommand.CommandType = cmdtype;
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
} adapter.Fill(dt);
return dt;
}
}
catch (Exception)
{
throw;
}
} /// <summary>
/// 需要获得多个结果集的时候用该方法,返回DataSet对象。
/// </summary>
/// <param name="sql语句"></param>
/// <returns></returns> public static DataSet ExecuteDataSet(string sql, params OracleParameter[] pms)
{
using (OracleConnection con = new OracleConnection(constr))
{
//数据适配器
OracleDataAdapter sqlda = new OracleDataAdapter(sql, con);
sqlda.SelectCommand.Parameters.AddRange(pms);
DataSet ds = new DataSet();
sqlda.Fill(ds);
return ds;
//不需要打开和关闭链接.
}
}
}
}

oracle封装OracleHelper的更多相关文章

  1. C/C++ 开源库及示例代码

    C/C++ 开源库及示例代码 Table of Contents 说明 1 综合性的库 2 数据结构 & 算法 2.1 容器 2.1.1 标准容器 2.1.2 Lockfree 的容器 2.1 ...

  2. C#工具类OracleHelper,基于Oracle.ManagedDataAccess.Client封装

    基于Oracle.ManagedDataAccess.Client封装的Oracle工具类OracleHelper,代码如下: using System; using System.Data; usi ...

  3. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  4. [转]Oracle分页之二:自定义web分页控件的封装

    本文转自:http://www.cnblogs.com/scy251147/archive/2011/04/16/2018326.html 上节中,讲述的就是Oracle存储过程分页的使用方式,但是如 ...

  5. 连接Oracle数据库的OracleHelper.cs

    using System; using System.Configuration; using System.Data; using System.Data.OracleClient; using S ...

  6. PLS-00306:错误解决思路 - OracleHelper 执行Oracle函数的坑

    如果你是像我一样初次使用Net+Oracle的结合,我想你会跟我一样,有很大的概率碰到这个问题 ==================================================== ...

  7. OracleHelper[.Net 连接Oracle数据库的封装类]

    using System; using System.Configuration; using System.Data; using System.Data.OracleClient; using S ...

  8. Oracle操作数据库oracleHelper

    1 Oracle OracleHelper //============================================================================ ...

  9. C#学习--Oracle数据库基本操作(连接、增、删、改、查)封装

    写在前面: SQLserver的C#封装:https://www.cnblogs.com/mexihq/p/11636785.html 类似于上篇有关SQLserver的C#封装,小编对Oracle数 ...

随机推荐

  1. keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量

    之前一直是用v5编译,编译速度慢,换成V6编译速度差不多快50% ,而且arm后期只维护v5编译器不在更新v5编译器.切换到V6编译器大势所趋,把之前v5且换到v6需要如下更改: 1. CMSIS包需 ...

  2. Wamp Https 的 SSL认证 配置说明

    Wamp Https 的 SSL认证 配置说明版本 Apache2.2.11注:右下角图标的 重启 不能有效加载 配置文件 应退出后重新运行注:C:\wamp\bin\apache\Apache2.2 ...

  3. MATLAB datenum日期转换为Python日期

    摘要 MATLAB datenum时间格式参数众多,本文只简单关注 units 参数,即基准年份和计时度量(天.小时). 命令行演示在 ipython 和 Octave 中进行. 示例1:小时制,基准 ...

  4. centos lnmp一键安装

    安装 系统需求: 需要2 GB硬盘剩余空间 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统) Linux下区分大小写,输入命令时请注意! 安装步骤: 1.使用putty或 ...

  5. MySQL卸载与重装

    [卸载] 不推荐使用控制面板-->卸载程序,来卸载,容易出现报错. 使用电脑管家卸载很轻松. [删除注册列表] HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\S ...

  6. ABP 使用cache缓存

    using Abp.Application.Services.Dto; using Abp.Runtime.Caching; using Microsoft.Extensions.Configurat ...

  7. C# 获取系统SysWOW64的方法

    string path = Environment.GetFolderPath(Environment.SpecialFolder.SystemX86); 64位系统获取的SysWOW64 ,32位获 ...

  8. Spring的配置文件找不到元素 'beans' 的声明

    Spring的配置文件找不到元素 'beans' 的声明 一般是由Spring的版本导致的,你可以尝试使用如下的某一种. <?xml version="1.0" encodi ...

  9. java开发中,一些小的JS应用

    js中打开一个新窗口的方法: 1.window.location.href=“url” 2.jbox.win(); 3.window.open(); js无任何提示的关闭弹出的页面: window.o ...

  10. Servlet 入门

    静态web页面:html+css+js,页面是静态的.不变的,显示给每个用户的页面都一样. 动态web页面:php.jsp.asp,根据用户.实时数据(数据库)来动态显示页面,不同的用户,显示的页面可 ...