📄 dataaccess.cs
字号:
{
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 + -