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

📄 dataaccess.cs

📁 三层班级留言本源码 用VS2005写的,对于其中没有太多的技术含量, 但是还是蛮有参考价值的. 后台数据库的读写采用三层架构,没有专业的后台管理程序,所有操作都是同一个页面上进行. 如果
💻 CS
📖 第 1 页 / 共 2 页
字号:
			{
				throw ( new Exception( "关闭数据库连接错误:" + exp.Message ) );
			}
		}
		#endregion

		#region 执行命令
		/// <summary>
		/// 执行命令
		/// </summary>
		/// <param name="CommandString">命令字符串</param>
		/// <param name="Paras">命令所带参数的数组</param>
		public void ExcuteCommand(string CommandString, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.ExcuteCommand 实现
			SqlCommand cmd = GetCommand( CommandString, CommandTextType.Command, Paras );	// 获取命令

			try
			{
				Open();						// 打开连接
				cmd.ExecuteNonQuery();		// 执行命令
				Close();					// 关闭连接
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行命令错误:" + exp.Message ) );
			}
		}
		#endregion

		#region 查询执行命令获取数据记录集
		/// <summary>
		/// 查询执行命令获取数据记录集
		/// </summary>
		/// <param name="SelectCommandString">查询命令字符串</param>
		/// <param name="TableName">查询表名</param>
		/// <param name="Paras">查询命令所带参数的数组</param>
		/// <returns>执行查询命令获取的数据记录集</returns>
		public DataSet GetDataSetFromExcuteCommand(string SelectCommandString, string TableName, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.GetDataSetFromExcuteCommand 实现
			SqlCommand cmd = GetCommand( SelectCommandString, CommandTextType.Command, Paras );	// 获取命令
			SqlDataAdapter da = new SqlDataAdapter( cmd );										// 创建数据适配器
			DataSet ds = new DataSet();															// 创建数据记录集

			try
			{
				da.Fill( ds, TableName );				// 数据适配器填充数据记录集
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行命令获取数据记录集错误:" + exp.Message ) );
			}

			return ds;
		}
		#endregion

		#region 执行存储过程
		/// <summary>
		/// 执行存储过程
		/// </summary>
		/// <param name="ProcName">存储过程名</param>
		/// <param name="Paras">存储过程所带参数的数组</param>
		public int ExcuteProc(string ProcName, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.ExcuteProc 实现
			SqlCommand cmd = GetCommand( ProcName, CommandTextType.Procedure, Paras );	// 获取命令
            int rows = 0;
			try
			{
				Open();					// 打开数据库连接
				rows = cmd.ExecuteNonQuery();	// 执行命令
				Close();				// 关闭数据库连接
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行存储过程错误:" + exp.Message ) );
			}
            return rows;
		}
		#endregion

		#region 执行查询存储过程获取数据记录集
		/// <summary>
		/// 执行查询存储过程获取数据记录集
		/// </summary>
		/// <param name="SelectProcName">查询存储过程名</param>
		/// <param name="TableName">查询表名</param>
		/// <param name="Paras">查询存储过程所带参数的数组</param>
		/// <returns>执行查询存储过程获取的数据记录集</returns>
		public DataSet GetDataSetFromExcuteProc(string SelectProcName, string TableName, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.GetDataSetFromExcuteProc 实现
			SqlCommand cmd = GetCommand( SelectProcName, CommandTextType.Procedure, Paras );	// 获取命令
			SqlDataAdapter da = new SqlDataAdapter( cmd );			// 创建数据适配器
			DataSet ds = new DataSet();								// 创建数据记录集

			try
			{
				da.Fill( ds, TableName );							// 数据适配器填充数据记录集
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行存储过程获取数据记录集错误:" + exp.Message ) );
			}

			return ds;
		}
		#endregion

		#region 执行命令获取第一行第一列的值
		/// <summary>
		/// 执行命令获取第一行第一列的值
		/// </summary>
		/// <param name="CommandString">命令字符串</param>
		/// <param name="Paras">命令所带参数的数组</param>
		/// <returns>第一行第一列的值</returns>
		public object ExecuteCommandScalar(string CommandString, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.ExecuteCommandScalar 实现
			SqlCommand cmd = GetCommand( CommandString, CommandTextType.Command, Paras );	// 获取命令
			object obj = null;

			try
			{
				obj = GetScalar( cmd );		// 获取第一行第一列的值
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行命令获取第一行第一列的数据错误:" + exp.Message ) );
			}

			return obj;
		}
		#endregion

		#region 执行存储过程获取第一行第一列的值
		/// <summary>
		/// 执行存储过程获取第一行第一列的值
		/// </summary>
		/// <param name="ProcName">存储过程名</param>
		/// <param name="Paras">存储过程所带参数的数组</param>
		/// <returns>第一行第一列的值</returns>
		public object ExecuteProcScalar(string ProcName, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.ExecuteProcScalar 实现
			SqlCommand cmd = GetCommand( ProcName, CommandTextType.Procedure, Paras );	// 获取命令
			object obj = null;

			try
			{
				obj = GetScalar( cmd );		// 获取第一行第一列的值
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行存储过程获取第一行第一列的数据错误:" + exp.Message ) );
			}

			return obj;
		}
		#endregion

		#region 执行命令获取数据读取器
		/// <summary>
		/// 执行命令获取数据读取器
		/// </summary>
		/// <param name="SelectCommandString">查询命令字符串</param>
		/// <param name="Paras">查询命令所带参数的数组</param>
		/// <returns>数据读取器</returns>
		public IDataReader GetDataReaderFromExcuteCommand(string SelectCommandString, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.GetDataReaderFromExcuteCommand 实现
			SqlCommand cmd = GetCommand( SelectCommandString, CommandTextType.Command, Paras );		// 获取命令
			SqlDataReader Reader = null;

			try
			{
				Reader = GetDataReader( cmd );		// 获取数据读取器
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行命令获取数据读取器错误:" + exp.Message ) );
			}

			return Reader;
		}
		#endregion

		#region 执行存储过程获取数据读取器
		/// <summary>
		/// 执行存储过程获取数据读取器
		/// </summary>
		/// <param name="SelectCommandString">查询存储过程名</param>
		/// <param name="Paras">查询存储过程所带参数的数组</param>
		/// <returns>数据读取器</returns>
		public IDataReader GetDataReaderFromExcuteProc(string SelectProcName, IDataParameter[] Paras)
		{
			// TODO:  添加 SqlAccess.GetDataReaderFromExcuteProc 实现
			SqlCommand cmd = GetCommand( SelectProcName, CommandTextType.Procedure, Paras );	// 获取命令
			SqlDataReader Reader = null;

			try
			{
				Reader = GetDataReader( cmd );		// 获取数据读取器
			}
			catch ( Exception exp )
			{
				throw ( new Exception( "执行存储过程获取数据读取器错误:" + exp.Message ) );
			}

			return Reader;
		}
        public string UserRoot(string CommandString, IDataParameter[] Paras)
        {
            SqlCommand cmd = this.GetCommand(CommandString, CommandTextType.Procedure, Paras);
            
            this.Open();
            
            cmd.ExecuteNonQuery();
            
            this.Close();

            return Paras[2].Value.ToString(); 
        }

        #endregion
    }

	#endregion

	#region 数据库访问类型
	public enum AccessDBType
	{
		SQL
	}
	#endregion

	#region 数据库访问工厂类
	public class Factory
	{
		#region 获取数据库访问对象
		/// <summary>
		/// 获取数据库访问对象
		/// </summary>
		/// <param name="Type">数据库访问类型</param>
		/// <returns>数据库访问对象</returns>
		public static IDataAccess GetDBAccess( AccessDBType Type )
		{
			IDataAccess DBAccess = null;
			switch ( Type )
			{
				case AccessDBType.SQL:
					DBAccess = new SqlAccess();
					break;
			}

			return DBAccess;
		}

		/// <summary>
		/// 获取数据库访问对象
		/// </summary>
		/// <param name="Type">数据库访问类型</param>
		/// <param name="ConnectionString">数据库连接字符串</param>
		/// <returns>数据库访问对象</returns>
		public static IDataAccess GetDBAccess( AccessDBType Type, string ConnectionString )
		{
			IDataAccess DBAccess = null;
			switch ( Type )
			{
				case AccessDBType.SQL:
					DBAccess = new SqlAccess( ConnectionString );
					break;
			}

			return DBAccess;
		}
		#endregion
	}
	#endregion
}
#endregion

⌨️ 快捷键说明

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