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

📄 cdo.cs

📁 小型项目组用的工作日志记录系统
💻 CS
字号:
/*
 * CDO.cs
 * 
 * 作者:邱观琛
 * 创建时间:2002-5-28
 * 最后修改:2002-6-21
 * 
 * 
 * 提供一些与数据库进行直接联系的函数,例如数据库的连接和断开,
 * 执行sql命令和查询等。
 * 
 */

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace CFC
{
	/// <summary>
	/// 提供一些与数据库进行直接联系的函数。
	/// 除Connect外,调用其他成员函数时必须先调用函数Connect连接数据库。
	/// </summary>
	public class CDO
	{
		private CDO()
		{
		}


		#region private static string ConnectionString : 数据库的连接字符串
		/// <summary>
		/// 数据库的连接字符串。
		/// </summary>
		private static string ConnectionString = ConfigurationSettings.AppSettings["DSN"];
		#endregion

		#region private static SqlConnection CurrConnection : 当前系统对数据库的连接
		/// <summary>
		/// 当前系统对数据库的连接。对数据库的任何操作将使用这个连接。
		/// 全局变量。
		/// </summary>
		private static SqlConnection CurrConnection = new SqlConnection();
		#endregion




		#region public static void SetConnectionString(string Server,string UID, string Pwd, string Database) : 设置数据库的连接字符串
		/// <summary>
		/// 设置数据库的连接字符串。
		/// </summary>
		/// <param name="Server">数据库服务器的ip地址,可以设成localhost</param>
		/// <param name="UID">用户名</param>
		/// <param name="Pwd">密码</param>
		/// <param name="Database">数据库名称</param>
		public static void SetConnectionString(string Server,string UID, string Pwd, string Database)
		{
			ConnectionString = String.Format("server={0};uid={1};pwd={2};database={3}",Server,UID,Pwd,Database);
		}
		#endregion


		#region public static void Connect() : 连接数据库
		/// <summary>
		/// 连接数据库。
		/// </summary>
		public static void Connect()
		{
			try
			{
				CurrConnection.ConnectionString = ConnectionString;
				CurrConnection.Open();
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
			}
		}
		#endregion


		#region public static void Disconnect() : 断开对数据库的连接
		/// <summary>
		/// 断开对数据库的连接。
		/// </summary>
		public static void Disconnect()
		{
			try
			{
				CurrConnection.Close();
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
			}
		}
		#endregion




		#region public static void Execute(string Sql) : 执行指定sql命令
		/// <summary>
		/// 执行指定sql命令。
		/// </summary>
		/// <param name="Sql">被执行的sql命令。</param>
		public static void Execute(string Sql)
		{
	//		try
			{
				SqlCommand CurrCommand = new SqlCommand(Sql,CurrConnection);
				CurrCommand.ExecuteNonQuery();
			}
	//		catch (Exception e)
			{
	//			CError.ErrorMsg = e.Message;
			}
		}
		#endregion


		#region public static SqlDataReader GetDataReader(string Sql) : 执行指定sql查询,将查询结果返回到一个SqlDataReader
		/// <summary>
		/// 执行指定sql查询,将查询结果返回到一个SqlDataReader。
		/// </summary>
		/// <param name="Sql">被执行的sql查询。</param>
		/// <returns>存在SqlDataReader里的查询结果</returns>
		public static SqlDataReader GetDataReader(string Sql)
		{
			try
			{
				SqlCommand CurrCommand = new SqlCommand(Sql,CurrConnection);
				return CurrCommand.ExecuteReader();
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
				return null;
			}
		}
		#endregion


		#region public static SqlDataReader GetDataReaderSingleRow(string Sql) : 执行指定sql查询,将单行查询结果返回到一个SqlDataReader
		/// <summary>
		/// 执行指定sql查询,将查询结果返回到一个SqlDataReader。
		/// 但查询结果只取一行。
		/// </summary>
		/// <param name="Sql">被执行的sql查询。</param>
		/// <returns>存在SqlDataReader里的单行查询结果</returns>
		public static SqlDataReader GetDataReaderSingleRow(string Sql)
		{
			try
			{
				SqlCommand CurrCommand = new SqlCommand(Sql,CurrConnection);
				return CurrCommand.ExecuteReader(CommandBehavior.SingleRow);
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
				return null;
			}
		}
		#endregion


		#region public static DataTable GetDataTable(string Sql) : 执行指定sql查询并生成一个DataTable存储查询结果
		/// <summary>
		/// 执行指定sql查询并生成一个DataTable存储查询结果。
		/// </summary>
		/// <param name="Sql">被执行的sql查询。</param>
		/// <returns>存在DataTable里的查询结果</returns>
		public static DataTable GetDataTable(string Sql)
		{
			try
			{
				DataTable dt = new DataTable();
				SqlDataAdapter CurrDataAdapter = new SqlDataAdapter(Sql,CurrConnection);
				CurrDataAdapter.Fill(dt);
				return dt;
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
				return null;
			}
		}
		#endregion


		#region public static void AppendDataTable(string Sql, DataTable dt) : 执行指定sql查询并填入指定DataTable。指定DataTable中原数据保留
		/// <summary>
		/// 执行指定sql查询并填入指定DataTable。指定DataTable中原数据保留。
		/// </summary>
		/// <param name="Sql">被执行的sql查询。</param>
		/// <param name="dt">存储查询结果的DataTable</param>
		public static void AppendDataTable(string Sql, DataTable dt)
		{
			try
			{
				SqlDataAdapter CurrDataAdapter = new SqlDataAdapter(Sql,CurrConnection);
				CurrDataAdapter.Fill(dt);
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
			}
		}
		#endregion


		#region public static void FillDataTable(string Sql, DataTable dt) : 执行指定sql查询并填入指定DataTable。指定DataTable中原数据被清空
		/// <summary>
		/// 执行指定sql查询并填入指定DataTable。指定DataTable中原数据被清空。
		/// </summary>
		/// <param name="Sql">被执行的sql查询。</param>
		/// <param name="dt">存储查询结果的DataTable</param>
		public static void FillDataTable(string Sql, DataTable dt)
		{
			try
			{
				dt.Clear();
				AppendDataTable(Sql,dt);
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
			}
		}
		#endregion


		#region public static void UpdateDataTable(string Sql, DataTable dt) : 将指定DataTable中存储的内容更新回数据库
		/// <summary>
		/// 将指定DataTable中存储的内容更新回数据库。被替换掉的数据由执行指定sql查询而得。
		/// </summary>
		/// <param name="Sql">被执行以得到被替换数据的的sql查询。</param>
		/// <param name="dt">存储新数据的DataTable</param>
		public static void UpdateDataTable(string Sql, DataTable dt)
		{
			try
			{
				SqlDataAdapter CurrDataAdapter = new SqlDataAdapter(Sql,CurrConnection);
				SqlCommandBuilder CurrCommandBuilder = new SqlCommandBuilder(CurrDataAdapter);
				CurrDataAdapter.Update(dt);
			}
			catch (Exception e)
			{
				CError.ErrorMsg = e.Message;
			}
		}
		#endregion
	}
}

⌨️ 快捷键说明

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