/// <summary>
/// 数据库访问接口
/// internal 只有同一命名空间才能访问,防止逻辑层调用此接口
/// </summary>
public class AgentDBHelper
{
/// <summary>
/// 数据库连接字符串
/// </summary>
internal static string connectionString = ConfigurationManager.ConnectionStrings["AgentDB"].ConnectionString;
#region 构造函数
public AgentDBHelper()
{
}
#endregion
#region 执行简单SQL语句
/// <summary>
/// 执行SQL语句(增删改),返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
internal static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (SqlException e)
{
connection.Close();
throw e;
}
finally
{
connection.Close();
}
}
}
}
/// <summary>
/// RunSql(SqlCommand,bool) 执行Sql语句
/// </summary>
/// <param name="m_SqlCommand">SqlCommand 对象</param>
/// <returns>影响行数</returns>
internal static int ExecuteSql(SqlCommand m_SqlCommand)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
m_SqlCommand.Connection = connection;
connection.Open();
return m_SqlCommand.ExecuteNonQuery();
}
catch (SqlException e)
{
throw e;
}
finally
{
connection.Close();
}
}
}
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
internal static int ExecuteSqlTran(List<String> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try