zoukankan      html  css  js  c++  java
  • 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();
    }
    }

    }

  • 相关阅读:
    图解IntelliJ IDEA v13应用服务器的运行配置
    探秘IntelliJ IDEA v13的应用服务器
    WebStorm中Node.js项目配置教程(1)——创建项目
    Web神器WebStorm 8.0测试版发放(慧都独家)
    三个创建WebStorm项目的方法
    清明假期【未完成】
    DOM查询
    正则表达式
    Httpservlet cannot be resolved to a type的原因与解决方法
    解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)【亲测有效】
  • 原文地址:https://www.cnblogs.com/huangf714/p/5876312.html
Copyright © 2011-2022 走看看