SqlHelper是一个基于.NET Framework的数据库操作组件。组件中包含数据库操作方法,SqlHelper有很多版本,主要以微软一开始发布的SqlHelper类,后面包含进了Enterprise Library开源包中了。还有一个主要版本是dbhelper.org开源的sqlhelper组件,优点是简洁,高性能,不仅仅支持sqlserver,同时支持sqlserver、oracle、access、Mysql数据库,也是一个开源项目,提供免费下载。
SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。
SQLHelper分为四中情况:带参数的sql查询语句,带参数的增删改sql语句,不带参数的sql查询语句,sql增删改语句。看一下他们的代码(C#版)
① /// <summary> /// 执行不带参数的 增删改sql语句或存储过程 /// </summary> /// <param name="cmdText"></param> /// <param name="ct">命令类型</param> /// <returns></returns> public int ExecuteNonQuery(string cmdText, CommandType ct) { int res; try { 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; } /// <summary> /// 执行带参数的SQL增删改语句 /// </summary> /// <param name="sql">sql增删改语句</param> /// <param name="paras">参数集合</param> /// <returns></returns> public int ExecuteNonQuery(string cmdText,SqlParameter[] paras,CommandType ct) { int res; using (cmd = new SqlCommand(cmdText , GetConn())) { cmd.CommandType = ct; cmd.Parameters.AddRange(paras); res =cmd.ExecuteNonQuery (); } return res; }
② /// <summary> /// 该方法执行查询传入的sql查询语句或存储过程 /// </summary> /// <param name="sql">命令类型</param> /// <returns></returns> public DataTable ExecuteQurey(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; } /// <summary> /// 执行带参数的SQL语句,或存储过程 /// </summary> /// <param name="cmdText"></param> /// <param name="paras">sql查询语句</param></param> /// <param name="ct">命令类型</param> /// <returns></returns> public DataTable ExecuteQurey(string cmdText, SqlParameter[] paras,CommandType ct) { DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText , GetConn()); cmd.CommandType = ct; cmd.Parameters.AddRange(paras); using (sdr = cmd.ExecuteReader(CommandBehavior .CloseConnection )) { dt.Load(sdr); } return dt; } }
前辈们的代码我们可以拿来直接用,但是我们必须知道该怎么用。C#版的sqlhelper就这么点东西。至于更深的用法,还希望大神赐教!如有错误欢迎指正,不胜感激。