private static string connStr=ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//获取连接字符串
/// <summary>
/// 执行非查询SQL命令,列如:insert、updata、Delete等,并返回影响行数
/// </summary>
/// <param name="sql">SQL命令语句</param>
/// <param name="parameters">SqlCommand的参数</param>
/// <returns>ExecuteNonQuery返回值</returns>
public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters)
{
using(SqlConnection conn=new SqlConnection(connStr))//链接数据库
{
conn.Open();//打开数据库
using (SqlCommand cmd = conn.CreateCommand())//创建并返回一个和SqlConnection相关的SqlCommand对象
{
cmd.CommandText = sql;//获取SQL命令语句
cmd.Parameters.AddRange(parameters);//SqlCommand的参数
return cmd.ExecuteNonQuery();//返回结果
}
}
}
/// <summary>
/// 执行SqlDataReader按流方式查询,结果存放在数据库,适合大型数据查询
/// </summary>
/// <param name="sql">SQL命令语句</param>
/// <param name="parameters">SqlCommand的参数</param>
/// <returns>SqlDataReader集合返回值</returns>
public static SqlDataReader ExecuteDataReader(string sql, params SqlParameter[] parameters)
{
SqlConnection conn = new SqlConnection(connStr);//链接数据库
using (SqlCommand cmd = conn.CreateCommand())//创建并返回一个和SqlConnection相关的SqlCommand对象
{
cmd.CommandText = sql;//获取SQL命令语句
if (parameters != null)//判断parameters参数是否为空,
{
cmd.Parameters.AddRange(parameters);//SqlCommand的参数
}
conn.Open();//打开数据库
SqlDataReader sqlred = cmd.ExecuteReader(CommandBehavior.CloseConnection);//将获取到的SQL语句,发送到和SqlCommand相关联的SqlConnection,并使用提供对查询结果,和查询对数据库影响的说明,其值之一生成一个SqlDataReader
return sqlred;//返回一个SqlDataReader集合
}
}
/// <summary>
/// 执行DataTable离线数据查询,把数据读到本地内存中,适合比较少的sql查询
/// </summary>
/// <param name="sql">SQL命令语句</param>
/// <param name="parameters">SqlCommand的参数</param>
/// <returns>返回表集合</returns>
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))//链接数据库
{
conn.Open();//打开数据库
using (SqlCommand cmd = conn.CreateCommand())//创建并返回一个和SqlConnection相关的SqlCommand对象
{
cmd.CommandText = sql;//获取SQL命令语句
cmd.Parameters.AddRange(parameters);//SqlCommand的参数
SqlDataAdapter sqldad = new SqlDataAdapter(cmd);//表示用来把SqlCommand填充到DataSet
DataSet dataset = new DataSet();//初始化DataSet
sqldad.Fill(dataset);//向DataSet中填充SqlDataAdapter从SqlCommand中获取的数据
return dataset.Tables[0];//返回DataSet中的表集合
}
}
}
/// <summary>
/// 执行查询并返回查询结果的第一行第一列,忽略其他行其他列
/// </summary>
/// <param name="sql">SQL命令语句</param>
/// <param name="parameters">SqlCommand参数</param>
/// <returns>返回查询结果</returns>
public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))//链接数据库
{
conn.Open();//打开数据库
using (SqlCommand cmd = conn.CreateCommand())//创建并返回一个和SqlConnection相关的SqlCommand对象
{
cmd.CommandText = sql;//获取SQL命令语句
cmd.Parameters.AddRange(parameters);//SqlCommand的参数
return cmd.ExecuteScalar();//查询结果
}
}
}