C# Oracle自写多个数据库连接(DbHelper)

1.创建一个DbHelper 继承IDisposable(用于释放非托管资源)。

2.配置对应需要连接的多个数据库配置

3.编写基本的增删改查方法

4.调用完手动释放资源


    public class OracleDbHelper : IDisposable
    {
        public static string _connectionStringPORTAL = ConfigurationManager.ConnectionStrings["dataDb1"].ConnectionString;
        public static string _connectionStringCM = ConfigurationManager.ConnectionStrings["dataDb2"].ConnectionString;

        /// <summary>
        /// 当前数据库链接DbConnection对象
        /// </summary>
        private OracleConnection _connection = null;

        /// <summary>
        /// 当前连接
        /// </summary>
        public OracleConnection Connection
        {
            get { return _connection; }
        }

        /// <summary>
        /// 打开数据库
        /// </summary>
        /// <returns></returns>
        public static OracleConnection CreateConnectionPORTAL()
        {
            return new OracleConnection(_connectionStringPORTAL);
        }

        /// <summary>
        /// 打开数据库
        /// </summary>
        /// <returns></returns>
        public static OracleConnection CreateConnectionCM()
        {
            return new OracleConnection(_connectionStringCM);
        }

        public OracleCommand CreateCommand(string commandText)
        {
            OracleCommand command = this._connection.CreateCommand();
            command.CommandText = commandText;
            command.CommandType = CommandType.Text;
            command.BindByName = true;
            //command.CommandTimeout = 
            return command;
        }

        #region ExecuteScalar

        /// <summary>  
        /// 查询返回单行单列的Oracle语句。( 例:select count(*) from 表名或 select name from 表名 )。  
        /// </summary>  
        /// <param name="sql"></param>  
        /// <returns></returns>  
        public object ExecuteScalar(string sql)
        {
            OracleCommand command = CreateCommand(sql);
            object result = ExecuteScalar(command);
            return result;
        }

        public object ExecuteScalar(OracleCommand cmd)
        {
            //LogCommandInfo(cmd);

            if (cmd.Connection.State != ConnectionState.Open)
                cmd.Connection.Open();

            object result = cmd.ExecuteScalar();

            //_logger.Info("Return Result: {0}".FormatString(Convert.ToString(retVal)));
            return result;
        }


        public object ExecuteScalar(string sql, OracleParameter[] parameters)
        {
            OracleCommand command = CreateCommand(sql);
            command.Parameters.AddRange(parameters);

            return ExecuteScalar(command);
        }

        #endregion


        #region ExecuteDataTable

        public DataTable ExecuteDataTable(string commandText)
        {
            OracleCommand command = CreateCommand(commandText);
            return ExecuteDataTable(command);
        }
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="cmd"></param>
        /// <returns></returns>
        public DataTable ExecuteDataTable(OracleCommand cmd)
        {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值