C#中的SqlHelper 矫情吗;* 2021-06-24 15:59 364阅读 0赞 一直都在使用的SqlHelper究竟是什么呢,其实就是将需要连接数据库的部分封装成为了一个SqlHelper 但是只会用还不行,还要将SqlHelper手敲出来,没有源码也要会敲,所以我就多敲了几遍来加深记忆,当然最重要的是你要理解之后才行! 注释回头再加,见谅 代码如下: public class SqlHelper { public static readonly string ConnStr = "server=.;Database=Session1;User ID=sa;Password=123456"; private SqlCommand cmd = null; private SqlConnection conn = new SqlConnection(ConnStr); private SqlDataReader sdr = null; private SqlConnection Getconn() { if (conn.State == ConnectionState.Closed) { conn.Open(); } return conn; } public int ExecuteNonQuery(String cmdText, CommandType ct) { int res; cmd = new SqlCommand(cmdText, Getconn()); cmd.CommandType = ct; res = cmd.ExecuteNonQuery(); return res; } public int ExecuteNonQuery(string cmdText,CommandType ct,SqlParameter[] sqlparas) { int res; cmd = new SqlCommand(cmdText, Getconn()); cmd.Parameters.AddRange(sqlparas); cmd.CommandType = ct; res = cmd.ExecuteNonQuery(); conn.Close(); return res; } public DataTable ExecuteQuery(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 ExecuteQuery(string cmdText, CommandType ct,SqlParameter[] sqlparas) { DataTable dt = new DataTable(); cmd.CommandType = ct; cmd = new SqlCommand(cmdText, Getconn()); cmd.Parameters.AddRange(sqlparas);//和不带SqlParameter的方法就差这一行 using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } }
还没有评论,来说两句吧...