版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenguanghan123/article/details/86424537
以前做的很多项目都用到了SQLHelper类今天心血来潮就像把他贴出来了
public class SQLHelper
{
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
/// <summary>
/// 获取配置文件中的数据库地址
/// </summary>
public SQLHelper()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
conn = new SqlConnection(connStr);
}
/// <summary>
/// 数据库连接的打开
/// </summary>
/// <returns></returns>
public SqlConnection Getconn()
{
if (conn.State == ConnectionState.Closed)//查看数据库状态并打开
{
conn.Open();
}
return conn;
}
/// <summary>
/// 执行带不带参数的增删改SQL语句或者存储过程
/// </summary>
/// <param name="sql">增删改查SQL</param>
/// <param name="ct">命令类型</param>
/// <returns>返回受影响的行数</returns>
public int ExecuteNonQuery(string sql,CommandType ct)
{
int res;
using (cmd = new SqlCommand(sql, Getconn()))//定义其具有两个方法对数据库的连接及进行查询
{
cmd.CommandType = ct;//定义sql语句类型;
res = cmd.ExecuteNonQuery();
}
return res;
}
/// <summary>
/// 执行带参数的增删改SQL语句或者存储过程
/// </summary>
/// <param name="sql">增删改查SQL</param>
/// <param name="paras">要查询的参数</param>
/// <param name="ct">命令类型</param>
/// <returns>返回受影响的行数</returns>
public int ExecuteNonQuery(string sql, SqlParameter[] paras, CommandType ct)
{
int res;
using (cmd = new SqlCommand(sql, Getconn()))//定义其具有两个方法对数据库的连接及进行查询
{
cmd.CommandType = ct;//定义sql语句类型;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();
}
return res;
}
/// <summary>
/// 执行带不带参数的查询SQL语句或者存储过程
/// </summary>
/// <param name="sql">要查询的SQL</param>
/// <param name="ct">命令类型</param>
/// <returns>返回查询到到的data表</returns>
public DataTable ExecuteQuery(string sql,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(sql, Getconn());
cmd.CommandType = ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
}
/// <summary>
/// 执行带参数的查询SQL语句或者存储过程
/// </summary>
/// <param name="sql">要查询的SQL</param>
/// <param name="paras">要查询的参数</param>
/// <param name="ct">命令类型</param>
/// <returns>返回查询到到的data表</returns>
public DataTable ExecuteQuery(string sql,SqlParameter[] paras,CommandType ct)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(sql, Getconn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(paras);
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
return dt;
}
}