⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracledboperator.cs

📁 多种数据访问接口实现 支持SQL SERVER 2000/2005,Oracle,DB2,Acce
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;

using System.Data;
using System.Data.OracleClient ;

namespace IDbAccess
{
    //Oracle 数据库访问类
    class OracleDbAccess : IDbAccess
    {
        private OracleConnection conn; //数据库连接对象

        private OracleTransaction trans;   //事务处理对象

        private bool inTransaction = false; //true表示当前正处于事务中
        

        public IDbConnection Connection
        {
            get
            {
                return this.conn;
            }
        }

        public OracleDbAccess(string strConnection)  
        {
            this.conn = new OracleConnection(strConnection);
        }    
        
        public void Open()
        {
            if (conn.State != ConnectionState.Open)
            {
                this.conn.Open();
            }
        }
        
        public void Close()
        {
            if (conn.State == ConnectionState.Open)
            {
                this.conn.Close();
            }
        }
        
        public void BeginTrans()
        {
            trans = conn.BeginTransaction();
            inTransaction = true;
        }

        public void CommitTrans()
        {
            trans.Commit();
            inTransaction = false;
        }

        public void RollbackTrans()
        {
            trans.Rollback();
            inTransaction = false;
        }

        public void ExecSQLNoDataSet(string strSql, string[] strParams, object[] strValues)
        {
            
            OracleCommand cmd = new OracleCommand();
            cmd.Connection = this.conn;
            if (inTransaction)
            {
                cmd.Transaction = trans;
            }
            if ((strParams != null) && (strParams.Length != strValues.Length))
            {
                throw new Exception("查询参数和值不对应!");
            }
            cmd.CommandText = strSql;
            if (strParams != null)
            {
                for (int i = 0; i < strParams.Length; i++)
                {
                    cmd.Parameters.Add(strValues[i]);
                }
            }
            cmd.ExecuteNonQuery();
            
        }
        public void ExecSQLNoDataSet(string strSql)
        {
            OracleCommand cmd = new OracleCommand();
            cmd.Connection = this.conn;
            if (inTransaction)
            {
                cmd.Transaction = trans;
            }
            cmd.CommandText = strSql;
            cmd.ExecuteNonQuery();
        }
        
        public DataSet ExecSQLGetDataSet(string QueryString)
        {
            OracleCommand cmd = new OracleCommand();
            cmd.Connection = this.conn;
            if (inTransaction)
            {
                cmd.Transaction = trans;
            }
            DataSet ds = new DataSet();
            OracleDataAdapter ad = new OracleDataAdapter();
            cmd.CommandText = QueryString;
            ad.SelectCommand = cmd;
            ad.Fill(ds);
            return ds;
        }
    } 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -