class SqlHelper
{
private SqlHelper() { }
/// <summary>
/// 封装的 ExecuteNonQuery 方法
/// </summary>
/// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
/// <param name="cmdText">要执行的 sql 命令,带参数</param>
/// <param name="parameters"> SqlParameter 参数数组</param>
/// <returns>返回影响的行数</returns>
public static int ExecuteNonQuery(string dataSource, string cmdText, params SqlParameter[] parameters)
{
string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 封装 ExecuteScalar 方法
/// </summary>
/// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
/// <param name="cmdText">要执行的 sql 命令,带参数</param>
/// <param name="parameters"> SqlParameter 参数数组</param>
/// <returns>返回结果集中的第一行的第一列</returns>
public static object ExecuteScalar(string dataSource, string cmdText, params SqlParameter[] parameters)
{
string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 封装的 ExecuteReader 方法
/// </summary>
/// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
/// <param name="cmdText">要执行的 sql 命令,带参数</param>
/// <param name="parameters"> SqlParameter 参数数组</param>
/// <returns>返回一个 SqlDataReader 对象</returns>
public static SqlDataReader ExecuteReader(string dataSource, string cmdText, params SqlParameter[] parameters)
{
string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteReader();
}
}
}
/// <summary>
/// 封装的 Fill 方法
/// </summary>
/// <param name="dataSource">配置文件中的 connectionString 对应的 name </param>
/// <param name="cmdText">要执行的 sql 命令,带参数</param>
/// <param name="parameters"> SqlParameter 参数数组</param>
/// <returns>返回一个填充了数据的 DataTable 对象</returns>
public static DataTable ExecuteDataTable(string dataSource, string cmdText, params SqlParameter[] parameters)
{
string connStr = ConfigurationManager.ConnectionStrings[dataSource].ToString();
SqlCommand cmd = new SqlCommand(cmdText);
cmd.Parameters.AddRange(parameters);
SqlDataAdapter adapter = new SqlDataAdapter(cmd.CommandText, connStr);
DataTable table = new DataTable();
adapter.Fill(table);
return table;
}
}