您的位置:首页 > 数据库

SqlHelper 拿来主义--逐步完善

2016-02-13 23:39 302 查看
public static class SqlHelper
{
//获取连接字符串
private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
//ExecuteNonQuery()方法
//ExecuteScalar()方法
//ExecuteReader()方法
//ExecuteDataTable()方法

//执行增删改的
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
//使用using关键字定义一个范围,在范围结束时自动调用这个类实例的Dispose处理对象
using (SqlConnection con = new SqlConnection(constr))
{
//创建执行sql命令对象
using (SqlCommand cmd = new SqlCommand(sql, con))
{
//判断是否传递了sql参数
if (pms != null)
{
//将参数添加到Parameters集合中
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteNonQuery();
}
}
}

//执行返回单个值的
public static object ExecuteScalar(string sql, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}

con.Open();
return cmd.ExecuteScalar();
}
}
}

//执行返回SqlDataReader
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(constr);
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}

try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
con.Close();
con.Dispose();
throw;
}
}
}

//执行返回DataTable
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))
{
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(dt);
}
return dt;
}

public static DataSet Query(string SQLString,params SqlParameter[] pms)
{
DataSet ds = new DataSet();
using (SqlDataAdapter adapter = new SqlDataAdapter(SQLString, constr))
{
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(ds);
}

return ds;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  拿来主义 SqlHelper