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

📄 oledboperator.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.OleDb;


namespace IDbAccess
{
    //OLEDB的数据库访问类:
    class OleDbAccess : IDbAccess
    {
        private OleDbConnection conn;   //数据库连接对象

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

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

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

        public OleDbAccess(string strConnection)
        {
            this.conn = new OleDbConnection(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)
        {
            OleDbCommand cmd = new OleDbCommand();
            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)
        {
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = this.conn;
            if (inTransaction)
            {
                cmd.Transaction = trans;
            }
            cmd.CommandText = strSql;
            cmd.ExecuteNonQuery();
        }
        
        public DataSet ExecSQLGetDataSet(string QueryString)
        {
            OleDbCommand cmd = new OleDbCommand();
            cmd.Connection = this.conn;
            if (inTransaction)
            {
                cmd.Transaction = trans;
            }
            DataSet ds = new DataSet();
            OleDbDataAdapter ad = new OleDbDataAdapter();
            cmd.CommandText = QueryString;
            ad.SelectCommand = cmd;
            ad.Fill(ds);
            return ds;
        }
    }

}

⌨️ 快捷键说明

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