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

📄 olefactory.cs

📁 设计模式实现的数据库底层操作组件在应用程序的设计中
💻 CS
字号:
using System;
using System.Data;
using System.Data.OleDb;

namespace CFSoft.Zhanghz.DBMnager
{
	/// <summary>
	/// Ole数据库连接对象
	/// </summary>
	public class OLEDBOperate:DBOperate            
	{
		private static OleDbConnection conn; 
		private string _strConn;
		/// <summary>
		/// OLE数据库对象
		/// </summary>
		public OLEDBOperate()   
		{
			
		}
		/// <summary>
		/// OLE数据库对象
		/// </summary>
		/// <param name="ConnectionString">连接字符串</param>
		public OLEDBOperate(string ConnectionString)   
		{
            
			_strConn = ConnectionString;
		}
		/// <summary>
		/// 打开数据库
		/// </summary>
		private void Open()
		{
			if( (conn == null || conn.ConnectionString == string.Empty ) && _strConn != string.Empty)
			{
				conn = new OleDbConnection(_strConn);
			}
			if( conn.State != ConnectionState.Open ) 
			{ 
				conn.Open(); 
			}
		}

		/// <summary>
		/// 关闭数据库
		/// </summary>
		public void Close()
		{
			conn.Close(); 
		}

		/// <summary>
		/// 执行SQL语句
		/// </summary>
		/// <param name="CommandText">SQL语句</param>
		/// <param name="para">参数结构</param>
		/// <returns>影响行数</returns>
		public int ExecuteNonQuery(string CommandText, ParamInfo[] para)
		{
           
			Open();

			OleDbCommand cmd = new OleDbCommand(); 
           
			cmd.Connection = conn ; 
            
			OleDbTransaction trans = conn.BeginTransaction() ;
            
			cmd.Transaction = trans ;
            
			cmd.CommandText = CommandText;
            
			if( para != null ) 
			{ 
				for(int i = 0;i< para.Length;i++) 
				{    
					cmd.Parameters.Add(para[i].ParameterName,para[i].ParameterValue );                                                                                        
				}
			}
			int Num = -1;
			try
			{ 
              Num = cmd.ExecuteNonQuery();
				trans.Commit();
			}
			catch(Exception ex)
			{
				trans.Rollback();
				throw(ex);
			}
			finally
			{
				trans = null;
				cmd.Dispose(); 
			}

			return Num;
		}

		/// <summary>
		/// 执行SQL语句
		/// </summary>
		/// <param name="CommandObject">SQL语句</param>
		/// <returns>影响行数</returns>
		public int ExecuteNonQuery(string CommandObject)
		{
			return ExecuteNonQuery(CommandObject, null);
		}

		/// <summary>
		/// 带参数的SQL查询
		/// </summary>
		/// <param name="CommandText">SQL语句</param>
		/// <param name="para">参数结构</param>
		/// <returns>DataSet</returns>
		public DataSet Select(string CommandText, ParamInfo[] para)
		{
			Open();

			OleDbCommand cmd = new OleDbCommand(); 
            
			cmd.Connection = conn ; 
          
			DataSet ds = new DataSet(); 
     
			OleDbDataAdapter ad = new OleDbDataAdapter(); 
            
			cmd.CommandText = CommandText; 
            
			if( para != null ) 
			{ 
				for(int i = 0;i< para.Length;i++) 
				{    
					cmd.Parameters.Add(para[i].ParameterName,para[i].ParameterValue );                                                                                        
				}
			}
             
          ad.SelectCommand = cmd; 

			ad.Fill(ds); 
          
			return ds; 
		}
		/// <summary>
		///SQL查询
		/// </summary>
		/// <param name="CommandObject">SQL语句</param>
		/// <returns>DataSet</returns>
		public DataSet Select(string CommandObject)
		{
			return Select(CommandObject,null);
		}

		/// <summary>
		/// 设置或获取数据库的连接状态
		/// </summary>
		public ConnectionState State
		{
			get
			{
				return conn.State; 
			}
			set
			{
				if (value == ConnectionState.Open && conn.State != ConnectionState.Open )
				{
					Open();
				}
			}
		}
		/// <summary>
		/// 设置或获取数据库的连接字符串
		/// </summary>
		public string ConnectionString
		{
			get{ return _strConn; }
			set{ _strConn = value;}
		}	


	}
}

⌨️ 快捷键说明

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