oledboperator.cs

来自「多种数据访问接口实现 支持SQL SERVER 2000/2005,Oracl」· CS 代码 · 共 121 行

CS
121
字号
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 + =
减小字号Ctrl + -
显示快捷键?