Code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient; //导入访问SqlServer数据库的名称空间
/// <summary>
/// SqlHelper 的摘要说明
/// </summary>
public class SqlHelper
{
private static readonly string strConn = ConfigurationManager.ConnectionStrings["TangCompanyConn"].ConnectionString; //从配置文件获得与数据库的连接字符串
private static readonly string strName = ConfigurationManager.AppSettings["userName"].ToString(); //从配置文件中获得用户名
private static readonly string strPass = ConfigurationManager.AppSettings["userPass"].ToString(); //从配置文件中获得密码
public SqlHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlDataReader ExcuteRead(string nText, CommandType nType, SqlParameter[] paras) {
SqlConnection conn = new SqlConnection(strConn); //获得一个与数据库之间建立连接的连接对象
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
try
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面具体说
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //通过SQLCommand对象创建一个SqlDataReader对象
cmd.Parameters.Clear(); //清空所有参数
return dr; //返回SqlDataReader对象
}
catch(SqlException ex){
throw new Exception(ex.Message, ex);
}
}
public static int ExcuteNonQurey(string nText, CommandType nType, SqlParameter[] paras) {
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
//此处采用了using写法,自动释放连接对象
using (SqlConnection conn = new SqlConnection(strConn)) //括号内创建一个与数据库之间的连接对象
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
int rows = cmd.ExecuteNonQuery(); //执行T-SQL,并将所获得的返回行数赋给rows
cmd.Parameters.Clear(); //清空所有参数
return rows; //返回执行T-SQL所影响的行数
}
}
public static object ExcuteSclare(string nText, CommandType nType, SqlParameter[] paras) {
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
//此处采用了using写法,自动释放连接对象
using (SqlConnection conn = new SqlConnection(strConn))//括号内创建一个与数据库之间的连接对象
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
object obj = cmd.ExecuteScalar(); //返回查询中的第一行第一列,忽略其它。
cmd.Parameters.Clear(); //清空所有参数
return obj; //返回所查询到的对象
}
}
public static DataSet ExcuteReadApdater(string nText, CommandType nType, SqlParameter[] paras) {
SqlConnection con = new SqlConnection(strConn); //创建一个与数据库建立连接的对象
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
DataSet ds = new DataSet(); //创建一个数据集对象
try
{
PrepareCommand(con, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd); //创建一个数据适配器对象
sqlAdapter.Fill(ds); //填充数据集
cmd.Parameters.Clear(); //清空所有参数
return ds; //返回数据集对象
}
catch (SqlException ex) {
throw new Exception(ex.Message, ex);
}
}
public static void PrepareCommand(SqlConnection con, SqlCommand cmd, SqlTransaction trans, CommandType nType, string nText, SqlParameter[] paras) {
if (con.State != ConnectionState.Open) //判断与数据库之间的连接状态
con.Open(); //打开与数据库之间的连接
cmd.Connection = con; //为sqlcommand对象指定连接对象
cmd.CommandText = nText; //指定T-sql语句
if (trans != null) { //判断事务对象是否为null
cmd.Transaction = trans; //为sqlcommand对象指定事务对象
}
cmd.CommandType = nType; //执行sqlcommand执行语句的类型
if (paras != null) { //判断是否有参数
foreach (SqlParameter para in paras)//循环添加参数
{
cmd.Parameters.Add(para);
}
}
}
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient; //导入访问SqlServer数据库的名称空间
/// <summary>
/// SqlHelper 的摘要说明
/// </summary>
public class SqlHelper
{
private static readonly string strConn = ConfigurationManager.ConnectionStrings["TangCompanyConn"].ConnectionString; //从配置文件获得与数据库的连接字符串
private static readonly string strName = ConfigurationManager.AppSettings["userName"].ToString(); //从配置文件中获得用户名
private static readonly string strPass = ConfigurationManager.AppSettings["userPass"].ToString(); //从配置文件中获得密码
public SqlHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlDataReader ExcuteRead(string nText, CommandType nType, SqlParameter[] paras) {
SqlConnection conn = new SqlConnection(strConn); //获得一个与数据库之间建立连接的连接对象
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
try
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面具体说
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); //通过SQLCommand对象创建一个SqlDataReader对象
cmd.Parameters.Clear(); //清空所有参数
return dr; //返回SqlDataReader对象
}
catch(SqlException ex){
throw new Exception(ex.Message, ex);
}
}
public static int ExcuteNonQurey(string nText, CommandType nType, SqlParameter[] paras) {
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
//此处采用了using写法,自动释放连接对象
using (SqlConnection conn = new SqlConnection(strConn)) //括号内创建一个与数据库之间的连接对象
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
int rows = cmd.ExecuteNonQuery(); //执行T-SQL,并将所获得的返回行数赋给rows
cmd.Parameters.Clear(); //清空所有参数
return rows; //返回执行T-SQL所影响的行数
}
}
public static object ExcuteSclare(string nText, CommandType nType, SqlParameter[] paras) {
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
//此处采用了using写法,自动释放连接对象
using (SqlConnection conn = new SqlConnection(strConn))//括号内创建一个与数据库之间的连接对象
{
PrepareCommand(conn, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
object obj = cmd.ExecuteScalar(); //返回查询中的第一行第一列,忽略其它。
cmd.Parameters.Clear(); //清空所有参数
return obj; //返回所查询到的对象
}
}
public static DataSet ExcuteReadApdater(string nText, CommandType nType, SqlParameter[] paras) {
SqlConnection con = new SqlConnection(strConn); //创建一个与数据库建立连接的对象
SqlCommand cmd = new SqlCommand(); //创建一个执行SQL语句的命令对象
DataSet ds = new DataSet(); //创建一个数据集对象
try
{
PrepareCommand(con, cmd, null, nType, nText, paras); //调用后面的方法,后面详细说明
SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd); //创建一个数据适配器对象
sqlAdapter.Fill(ds); //填充数据集
cmd.Parameters.Clear(); //清空所有参数
return ds; //返回数据集对象
}
catch (SqlException ex) {
throw new Exception(ex.Message, ex);
}
}
public static void PrepareCommand(SqlConnection con, SqlCommand cmd, SqlTransaction trans, CommandType nType, string nText, SqlParameter[] paras) {
if (con.State != ConnectionState.Open) //判断与数据库之间的连接状态
con.Open(); //打开与数据库之间的连接
cmd.Connection = con; //为sqlcommand对象指定连接对象
cmd.CommandText = nText; //指定T-sql语句
if (trans != null) { //判断事务对象是否为null
cmd.Transaction = trans; //为sqlcommand对象指定事务对象
}
cmd.CommandType = nType; //执行sqlcommand执行语句的类型
if (paras != null) { //判断是否有参数
foreach (SqlParameter para in paras)//循环添加参数
{
cmd.Parameters.Add(para);
}
}
}