OracleHelper.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
namespace AirplaneTicketSubscribeObject.DAL
{
/// <summary>
/// OracleServer数据库访问的通用工具类
/// </summary>
public abstract class OracleHelper
{
//只读的静态数据库连接字符串
public static readonly string connString = ConfigurationManager.ConnectionStrings["OracleStr"].ConnectionString;
#region 执行 增 删 改
/// <summary>
/// 执行 增 删 改
/// </summary>
/// <param name="Oracle">要执行的Oracle</param>
/// <param name="param">参数</param>
/// <returns>影响行数</returns>
public static int ExecuteNonQuery(string sql,params OracleParameter[] param)
{
//实例化连接对象,并指定连接字符串,自动释放资源,不用关闭
using (OracleConnection conn = new OracleConnection(connString))
{
//实例化命令对象,指定Oracle,与连接对象
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
//如果有参数
if (param != null)
{
//批量添加参数
cmd.Parameters.AddRange(param);
}
//打开连接
conn.Open();
//执行Oracle并返回影响行数
return cmd.ExecuteNonQuery();
}
}
}
#endregion
#region 执行 查询
/// <summary>
/// 执行 查询
/// </summary>
/// <param name="Oracle">要执行的Oracle</param>
/// <param name="param">参数</param>
/// <returns>数据集</returns>
public static OracleDataReader ExecuteReader(string Oracle,params OracleParameter[] param)
{
//实例化连接对象,并指定连接字符串
OracleConnection conn = new OracleConnection(connString);
//实例化命令对象,指定Oracle,与连接对象
using (OracleCommand cmd = new OracleCommand(Oracle, conn))
{
//如果有参数
if (param != null)
{
//批量添加参数
cmd.Parameters.AddRange(param);
}
//打开连接
conn.Open();
//执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
/// <summary>
/// 执行查询存储过程,并且返回一个OracleDataReader对象(使用OracleDataReader对象执行)
/// </summary>
/// <param name="sql">存储过程名</param>
/// <param name="ps">存储过程中需要的参数</param>
/// <returns>读取器对象</returns>
public static OracleDataReader ExecuteReaderProc(string Oracle, params OracleParameter[] param)
{
//实例化连接对象,并指定连接字符串
OracleConnection conn = new OracleConnection(connString);
//实例化命令对象,指定Oracle,与连接对象
using (OracleCommand cmd = new OracleCommand(Oracle, conn))
{
//如果有参数
if (param != null)
{
//批量添加参数
cmd.Parameters.AddRange(param);
}
//打开连接
conn.Open();
cmd.CommandType = CommandType.StoredProcedure;
//执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
#endregion
#region 完成数据的查询,返回DataTable
/// <summary>
/// 完成数据的查询,返回DataTable
/// </summary>
/// <param name="Oracle">要执行的Oracle</param>
/// <param name="param">参数</param>
/// <returns>DataTable</returns>
public static DataTable GetTable(string sql,params OracleParameter[] param)
{
//实例化连接对象,并指定连接字符串,自动释放资源,不用关闭
using (OracleConnection conn = new OracleConnection(connString))
{
OracleDataAdapter adp = new OracleDataAdapter(sql, conn);
if (param != null)
{
adp.SelectCommand.Parameters.AddRange(param);
}
DataTable dt = new DataTable();
adp.Fill(dt);
return dt;
}
}
#endregion
#region 返回首行首列
/// <summary>
/// 返回首行首列
/// </summary>
/// <param name="OracleSql">要执行的OracleSql</param>
/// <param name="param">参数</param>
/// <returns></returns>
public static int ExecuteCount(string OracleSql, params OracleParameter[] param)
{
//实例化连接对象,并指定连接字符串
OracleConnection conn = new OracleConnection(connString);
//实例化命令对象,指定Oracle,与连接对象
using (OracleCommand cmd = new OracleCommand(OracleSql, conn))
{
//如果有参数
if (param != null)
{
//批量添加参数
cmd.Parameters.AddRange(param);
}
//打开连接
conn.Open();
//执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
return Convert.ToInt32(cmd.ExecuteScalar());
}
}
#endregion
internal static void Close()
{
throw new NotImplementedException();
}
}
}
OracleHelper.cs的更多相关文章
- 连接Oracle数据库的OracleHelper.cs
using System; using System.Configuration; using System.Data; using System.Data.OracleClient; using S ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- 『片段』OracleHelper (支持 多条SQL语句)
C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...
- 数据库连接类oracleHelper
//=============================================================================== // OracleHelper ba ...
- DbHelper and OracleHelper
1 连接Sql Server的ConnectionString: Data Source=.;Initial Catalog=ViewVideo;User ID=sa;Password=XXXXXX; ...
- Oracle操作数据库oracleHelper
1 Oracle OracleHelper //============================================================================ ...
- C# 调用 Oracle
C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...
- 通用权限管理系统底层更换最新Oracle驱动的方法
通用权限管理系统底层先前访问Oracle数据库时需要客户端安装驱动软件,如下图: 安装完毕还需要一番配置,系统再引用其dll, 现在我们使用了最新的dll 该dll是Oracle出的最新的版本. 通用 ...
- Oracle数据库操作类及连接方法
创建DataBaseAccess引用库下面包括DBConnectionString.cs,DBType.cs ,SysName.cs 三个类 DBConnectionString: using Sys ...
随机推荐
- C# 继承实现父类方法、重写、重载
继承是派生类(子类)去实现(重写<override>.重构<new>)基类(父类)的方法或属性.从而获取在派生类中要实现的功能. 子类调用父类构造方法,在父类中有个实现姓名和年 ...
- [ES6] 07. Default Value for function param
Normally, we can set default value for function param: //Here use "Hello" as default param ...
- 猜想:一组勾股数a^2+b^2=c^2中,a,b之一必为4的倍数。
证明: 勾股数可以写成如下形式 a=m2-n2 b=2mn c=m2+n2 而m,n按奇偶分又以下四种情况 m n 奇 偶 ① 偶 奇 ② 偶 偶 ③ 奇 奇 ④ 上面①②③三种情况中,mn中存在至少 ...
- 安装ADT的时候,提示“Cannot complete the install because one or more required items could not be
今天在安装ADT的时候,提示: Cannot complete the install because one or more required items could not be found. S ...
- iOS 判断NSString是否包含某个字符串
主要是使用3个方法 rangeOfString 是否包含 hasPrefix 是否在前缀包含 hasSuffix 是否在末尾包含 如代码: //判断字符是否包含某字 ...
- http://blog.csdn.net/gobitan/article/details/1809763
http://blog.csdn.net/gobitan/article/details/1809763 总结: 转发代理服务器代理 client, 反向代理服务器代理server 转发代理服务器与反 ...
- (八)Oracle学习笔记—— 触发器
1. 触发器简介 触发器在数据库里以独立的对象存储,类似于过程(procedure)和函数(function),都有声明,执行和异常处理过程的PL/SQL块.它与存储过程和函数不同的是,存储过程与函数 ...
- 【干货】电路设计师指导手册(已更新完毕)(转载EDN)
[干货]电路设计师指导手册(已更新完毕) 第一部分:接地与布线第二部分:电源返回路径与I/O信号接地第三部分:板间互连.星形接地及屏蔽第四部分:安全地以及电线/电缆第五部分:射频电缆.双绞线与串扰
- 使用结构(C# 编程指南)
struct 类型适于表示 Point.Rectangle 和 Color 等轻量对象. 尽管使用自动实现的属性将一个点表示为类同样方便,但在某些情况下使用结构更加有效. 例如,如果声明一个 1000 ...
- sklearn 中模型保存的两种方法
一. sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘. from sklearn.externals import joblib #lr是一个LogisticRegressi ...