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

📄 dboperate.cs

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

namespace CFSoft.Zhanghz.DBMnager
{
	#region 公有的属性
	/// <summary>
	/// 数据库类型的枚举
	/// </summary>
	public enum eDBType
	{
		/// <summary>
		/// SQLServer 数据库
		/// </summary>
		SQLServer   = 1,
		/// <summary>
		/// Oracle 数据库
		/// </summary>
		Oracle      = 2,
		/// <summary>
		/// Access 数据库
		/// </summary>
		Access      = 3,
		/// <summary>
		/// Ole 连接数据库
		/// </summary>
		Ole         = 4
	}

	/// <summary>
	/// 参数定义
	/// </summary>
	public struct ParamInfo
	{       
		/// <summary>
		/// SQL语句里的参数名称
		/// </summary>
		private string _ParameterName;
		/// <summary>
		/// SQL语句里的参数值
		/// </summary>
		private object _ParameterValue;
		/// <summary>
		/// 构造参数定义
		/// </summary>
		/// <param name="Name">参数名称</param>
		/// <param name="Value">参数值</param>
		public ParamInfo(string Name ,object Value)
		{
			_ParameterName = Name;
			_ParameterValue = Value;
		}

		/// <summary>
		/// SQL语句里的参数名称
		/// </summary>
		public string ParameterName
		{
			get{return _ParameterName;}
			set{_ParameterName = value;}
		}

		/// <summary>
		/// SQL语句里的参数值
		/// </summary>
		public object ParameterValue
		{
			get{return _ParameterValue;}
			set{_ParameterValue = value;}
		}
	}
	#endregion
	
	
	/// <summary>
	/// 封装所有数据库操作的接口
	/// </summary>
	public interface DBOperate
	{
		/// <summary>
		/// SQL查询
		/// </summary>
		/// <param name="CommandObject">SQL查询语句</param>
		/// <returns>DataSet</returns>
		DataSet Select(string CommandObject);
		/// <summary>
		/// 带参数的SQL查询
		/// </summary>
		/// <param name="CommandText">SQL语句</param>
		/// <param name="para">参数结构</param>
		/// <returns>DataSet</returns>
		DataSet Select(string CommandText,ParamInfo[] para ); 

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

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

		/// <summary>
		/// 关闭数据库连接,释放资源
		/// </summary>
		void Close();



		/// <summary>
		/// 获取或设置当前数据库连接状态
		/// </summary>
		ConnectionState  State{get;set;}
		/// <summary>
		/// 获取或设置当前数据库连接字符串
		/// </summary>
		string ConnectionString{get;set;}
	}


	/// <summary>
	/// 生成数据库的对象
	/// </summary>
	public class DBFactory
	{
		/// <summary>
		/// 数据库类工厂,使用反射机制创建对象。
		/// </summary>
		/// <param name="ClassName">类名</param>
		/// <returns>DBOperate</returns>
		public static DBOperate MakeDBObject(string ClassName)
		{
			DBOperate db = null;
			try
			{
				//利用反射机制创建类实例。
				Type type = Type.GetType(ClassName,true); 
				db = (DBOperate)Activator.CreateInstance(type);
			}
			catch(TypeLoadException ex)
			{
				throw (ex);
			}
			return  db;	
		}
	}
}

⌨️ 快捷键说明

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