SqlHelper类,可以简化对数据库的操作。
将程序中需要经常用到的数据库操作,如:连接字符串、对数据的增、删、改、查封装成“SqlHelper”类中的静态属性,方便在程序各部分进行调用。
增(insert)、删(delete)、改(update)语句用ExecuteNonQuery()方法进行封装;
查询(select)语句用ExecuteReader()方法进行封装。
把连接字符串定义为SqlHelper静态属性
class SqlHelper
{
/// <summary>
/// 数据库连接字符串
/// </summary>
public static string connString = "Data Source=192.168.217.131;Initial Catalog=MyProduct;User ID=sa;Password=1";
}
用ExecuteNonQuery()方法进行增、删、改 语句的封装,用“static”定义为静态方法便于访问。
传入”SQL语句”和“SQL语句对应参数“作为执行参数,返回执行影响行数
/// <summary>
/// 增、删、改语句执行,返回影响行数
/// </summary>
/// <param name="sql">需要执行的sql语句</param>
/// <param name="ps">sql语句中的参数列表</param>
/// <returns></returns>
public static int Execute(string sql, params SqlParameter[] ps)
{
SqlConnection conn = new SqlConnection(SqlHelper.connString);
conn.Open();
SqlCommand comm = new SqlCommand(sql, conn);
if (ps != null)
{
comm.Parameters.AddRange(ps);//
}
return comm.ExecuteNonQuery();
}
用ExecuteReader();方法进行查询封装,返回SqlDataReader类型数据。用“static”定义为静态方法便于访问。
Parameters.AddRange();添加一个参数数组。
Parameters.Add();添加一个参数。
CommandBehavior.CloseConnection;如果关闭关联的DataReader对象,则关闭关联的Connection对象.
调用时需要注意通过关闭SqlDataReader对象,关闭连接。
/// </summary>
/// <param name="sql">需要执行的sql语句</param>
/// <param name="ps">sql语句中的参数列表</param>
/// <returns></returns>
public static SqlDataReader Read(string sql, params SqlParameter[] ps)
{
SqlConnection conn = new SqlConnection(SqlHelper.connString);
conn.Open();
SqlCommand comm = new SqlCommand(sql, conn);
if (ps != null)
{
comm.Parameters.AddRange(ps);
}
return comm.ExecuteReader(CommandBehavior.CloseConnection);
//如果关闭关联的DataReader对象,则关闭关联的Connection对象.
}