【vb.net机房收费系统】之sqlhelper 标签: 数据库 2015-05-17 10:47 819人阅读 评论(15)

时间:2023-03-09 15:50:57
【vb.net机房收费系统】之sqlhelper                                                                                                         标签:               数据库                                            2015-05-17 10:47             819人阅读              评论(15)

在敲机房收费重构版的时候,用到了sqlhelper,当时不知道怎么开始,各种听别人说,张晗说,一定要用sqlhelper,特别好用,我当时没有用balabala~当时一听,哎哎哎,这个高级,要搞一搞,就去研究,当时连sqlhelper写在哪一层都搞不清,更不用说看懂了,查博客,各种查,看看,唉,这个不错,抄一下,然后抄到自己的程序里面,抄完了,怎么用也不会,现在再来看,sqlhelper的确是便利了不少,自己敲到现在,也愿意研究一下了。

先来科普一下:SqlHelper是一个基于·NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。

再来看一下sqlhelper的代码:

    '获取数据库连接字符串
'在这里需要添加system.Configuration.dll文件的引用
Private ReadOnly strConn As String = ConfigurationManager.AppSettings("strConn")
'新建链接
Dim connSql As SqlConnection = New SqlConnection(strConn)
'定义命令
Dim cmdSql As New SqlCommand Public Function ExecuteAddDelUpdated(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As Boolean cmdSql.Parameters.AddRange(sqlParams) '将参数传入
cmdSql.CommandType = cmdType '确定语句类型,是sql还是Oracle还是其他类型
cmdSql.CommandText = cmdText '将sql语句传给cmdsql
cmdSql.Connection = connSql '设置连接,全局变量
'执行查询
Try
connSql.Open() '打开链接
Return cmdSql.ExecuteNonQuery() '执行查询
cmdSql.Parameters.Clear() '清除参数 Catch ex As Exception
Return 0 Finally
Call CloseConnection(connSql)
Call CloseSQLCommand(cmdSql)
End Try End Function

以上就是一个带参数的sqlhelper的增删改语句,一个完整的sqlhelper应该包括:连接数据库,带参数和不带参数的查询与增删改,关闭数据库链接。

sqlhelper其实就是对咱们链接查询数据库的抽象总结,分为带参数的和不带参数的查询与增删改,所以很多的sqlhelper都可以直接拿来用,我查了很多博客,发现大家的sqlhelper其实大同小异,因为原理都相同。当时看sqlhelper觉得太难了,一点都看不懂,现在再来看,想象中的困难最困难。