/// <summary>
/// OracleServer数据库访问的通用工具类
/// </summary>
public abstract class OracleHelper
{
//只读的静态数据库连接字符串
public static readonly string connString = ConfigurationManager.ConnectionStrings["connStringOracle"].ConnectionString; #region 执行 增 删 改
/// <summary>
/// 执行 增 删 改
/// </summary>
/// <param name="Oracle">要执行的Oracle</param>
/// <param name="param">参数</param>
/// <returns>影响行数</returns>
public static int ExecuteNonQuery(string sql, params OracleParameter[] param)
{
try
{
//实例化连接对象,并指定连接字符串,自动释放资源,不用关闭
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();
}
}
}
catch (Exception)
{ throw;
}
}
#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);
}
}
#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
}

最新文章

  1. 常见排序算法(附java代码)
  2. [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表
  3. [原创]Centos7 从零整合LNMP一体包
  4. 主机使用代理上网,虚拟机Linux如何连外网
  5. ASP.NET MVC 随想录—— 使用ASP.NET Identity实现基于声明的授权,高级篇
  6. VTK初学一,a_Vertex图形点的绘制
  7. JavaScript自定义事件
  8. MapReduce自定义二次排序流程
  9. [LaTex]Visio文件转EPS文件[转]
  10. Java实现应用程序记住用户名、密码功能
  11. python--随机函数(random,uniform,randint,randrange,shuffle,sample)
  12. linux下OpenOffice与SwfTools环境安装
  13. maven项目打包发布时跳过测试
  14. Vue状态管理vuex
  15. python解析域名
  16. 获取网站证书的两种方法(wireshark or firefox nightly)
  17. 1、HA Cluster基础原理
  18. 廖雪峰Java4反射与泛型-3范型-4擦拭法
  19. 20145331魏澍琛《网络对抗》逆向及Bof基础
  20. oracle使用索引和不使用索引性能分析

热门文章

  1. IntelliJ IDEA 常用设置讲解1
  2. c语言的一些库
  3. Object-C 入门
  4. [原创]java WEB学习笔记85:Hibernate学习之路-- -映射 一对一关系 ,基于主键方式实现
  5. vs2003打包
  6. HDU 3037 Saving Beans(Lucas定理模板题)
  7. CSS_01_CSS和html结合的方式3、4
  8. paper 12:机器学习常见算法分类汇总
  9. mtool安装
  10. 夺命雷公狗---node.js---6net模块玩telnet通信(下)