本文共 2927 字,大约阅读时间需要 9 分钟。
今天对SQLHelper有了更深入的认识。
public class SQLHelper//数据库助手类 { private SqlConnection conn = null;//开头先定义连接,初始为空 private SqlCommand cmd = null;//命令,初始为空 private SqlDataReader sdr = null;//reader,初始为空 public SQLHelper()//构造函数 { string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;//获取配置文件中的connStr的字符串 conn = new SqlConnection(connStr);//给conn赋值,连接数据库 } private SqlConnection GetConn()//把连接打开的方法 { if (conn.State == ConnectionState.Closed)//如果状态关闭 { conn.Open(); } return conn; } ////// 该方法传入不带参数的SQL的增删改语句或者存储过程。 /// /// SQL语句 ///返回更新的记录数 public int ExecuteNonQuery(string cmdText,CommandType ct)//第一个参数是SQL语句,第二个参数是命令类型,是否是存储过程。 { int res = 0; try { SqlCommand cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct; res = cmd.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return res; } ////// 执行带参数的SQL增删改语句或者存储过程 /// /// SQL增删改语句 /// 参数集合 ///public int ExecuteNonQuery(string cmdText, SqlParameter[] paras,CommandType ct) { int res = 0; using (cmd = new SqlCommand(cmdText, GetConn())) { cmd.CommandType = ct; cmd.Parameters.AddRange(paras);//参数 res = cmd.ExecuteNonQuery(); } return res; } /// /// 该方法执行不带参数的SQL查询语句或者存储过程 /// /// SQL查询语句或者存储过程 ///public DataTable ExcuteQuery(string cmdText,CommandType ct) { DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct; using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } /// /// 带参数的查询语句或者存储过程 /// /// /// ///public DataTable ExcuteQuery(string cmdText, SqlParameter[] paras,CommandType ct) { DataTable dt = new DataTable(); cmd.CommandType = ct; cmd = new SqlCommand(cmdText, GetConn()); cmd.Parameters.AddRange(paras); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } }
共分为四类:int类型的是增,删,更新操作。
而int类型又分为带参数和不带参数
datatable类型是查询操作
而datatable又分为带参数和不带参数
转载地址:http://yself.baihongyu.com/