📄 cdo.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 + -