重构个人版机房收费系统——sqlHelper

什么是sqlHelper?sqlHelper怎么使用?sqlHelper有什么优点,它给我们带来怎样好处?通过网上的搜索,自己也明白了sqlHelper是干什么用的。
通过sqlHelper字面意思我想你应该也能猜得出来sqlHelper大体上是做什么的,sqlHelper是一个封装的类,它方便了程序员在与数据库之间的连接,帮助程序员简化数据连接中重复代码。说白了也就是提取所有要进行数据库连接代码中的公共部分进行打包封装调用。更具体的解说大家可以通过这个连接去详细阅读http://baike.baidu.com/view/2765538.htm?fr=aladdin
而在个人重构班机房收费中,我们就要用到sqlHelper,它减少了我们在连接数据库时重复的代码,而且还避免了因为重复代码而出现相同的错误。
<span style="font-size:18px;">Imports System.Configuration '应用配置文件
Imports System.Data.SqlClient  '引入命名空间system.data.sqlclient
Public Class SqlHelper
    '通过配置文件获取连接字符串并赋值给所声明的变量strConnection
    Dim strConnection As String = ConfigurationManager.AppSettings("strSqlconnection")
    Dim conn As SqlConnection = New SqlConnection(strConnection) '设置链接
    Dim cmd As New SqlCommand  '声明sqlcommand类的变量
    ''' <summary>
    ''' 关闭命令
    ''' </summary>
    ''' <param name="cmd">释放资源</param>
    ''' <remarks></remarks>
    Private Sub closeCmd(ByVal cmd As SqlCommand)
        If Not IsNothing(cmd) Then
            cmd.Dispose() '释放所有资源
            cmd = Nothing
        End If
    End Sub
    ''' <summary>
    ''' 关闭链接
    ''' </summary>
    ''' <param name="conn">关闭需要关闭的链接</param>
    ''' <remarks></remarks>
    Private Sub closeConn(ByVal conn As SqlConnection)
        If (conn.State <> ConnectionState.Closed) Then
            conn.Close()
            conn = Nothing
        End If
    End Sub
    ''' <summary>
    ''' 有参数的执行增删改操作
    ''' </summary>
    ''' <param name="cmdText">需要执行的命令</param>
    ''' <param name="cmdType">所执行的命令的类型,一般为Sql语句,也有可能为储存过程,或表</param>
    ''' <param name="sqlParams">参数组</param>
    ''' <returns>返回执行的结果,为受影响的行数</returns>
    ''' <remarks></remarks>
    Public Function ExecuteAddDeleteUpdate(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As Integer
        '将传入值分别赋给cmd的属性
        cmd.CommandText = cmdText '执行的语句
        cmd.Parameters.AddRange(sqlParams) '参数
        cmd.CommandType = cmdType '执行语句类型
        cmd.Connection = conn '设置链接
        Try
            conn.Open() '打开数据库
            Return cmd.ExecuteNonQuery() '执行
            cmd.Parameters.Clear() '清空参数
        Catch ex As Exception
            Return 0    '如果出错返回0
        Finally
            Call closeCmd(cmd)
            Call closeConn(conn)
        End Try
    End Function
    ''' <summary>
    ''' 无参数,执行增删改操作
    ''' </summary>
    ''' <param name="cmdText">需要执行的命令</param>
    ''' <param name="cmdType">所执行语句的类型</param>
    ''' <returns>返回操作结果</returns>
    ''' <remarks></remarks>
    Public Function ExecuteAddDeleteUpdate(ByVal cmdText As String, ByVal cmdType As CommandType) As Integer
        '将传入值分别赋给cmd的属性
        cmd.CommandText = cmdText '执行的语句
        cmd.CommandType = cmdType '执行语句类型
        cmd.Connection = conn '设置链接
        Try
            conn.Open() '打开数据库
            Return cmd.ExecuteNonQuery() '执行
        Catch ex As Exception
            Return 0    '如果出错返回0
        Finally
            Call closeCmd(cmd)
            Call closeConn(conn)
        End Try
    End Function
    ''' <summary>
    ''' 执行有参数查询操作
    ''' </summary>
    ''' <param name="cmdText">执行查询的语句</param>
    ''' <param name="cmdType">语句类型</param>
    ''' <param name="sqlPaparms">参数</param>
    ''' <returns>返回查询结果</returns>
    ''' <remarks></remarks>
    Public Function ExecuteSelect(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal sqlPaparms As SqlParameter()) As DataTable
        Dim sqlAdapter As SqlDataAdapter '声明一个适配器
        Dim dTable As New DataTable '实例化一个数据表
        Dim Dset As New DataSet '实例化一个数据缓存
        '将出入值,分别是cmd的属性值
        cmd.CommandText = cmdText '要执行的语句
        cmd.CommandType = cmdType '语句类型
        cmd.Parameters.AddRange(sqlPaparms) '将参数传入
        cmd.Connection = conn '设置连接
        sqlAdapter = New SqlDataAdapter(cmd) '实例化适配器
        Try
            sqlAdapter.Fill(Dset) '对适配器进行填充
            dTable = Dset.Tables(0) '返回数据集的第一表
            cmd.Parameters.Clear() '清空参数
        Catch ex As Exception
            MsgBox("查询失败", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告")
        Finally
            Call closeCmd(cmd) '关闭命令
            Call closeConn(conn) '关闭链接
        End Try
        Return dTable
    End Function
    ''' <summary>
    ''' 无参数查询操作、
    ''' </summary>
    ''' <param name="cmdText">要执行的语句</param>
    ''' <param name="cmdType">语句类型</param>
    ''' <returns>返回查询结果</returns>
    ''' <remarks></remarks>
    Public Function ExecuteSelect(ByVal cmdText As String, ByVal cmdType As CommandType) As DataTable
        Dim sqlAdapter As SqlDataAdapter '声明一个适配器
        Dim dTable As New DataTable '实例化一个数据表
        Dim Dset As New DataSet '实例化一个数据缓存
        '将出入值,分别是cmd的属性值
        cmd.CommandText = cmdText '要执行的语句
        cmd.CommandType = cmdType '语句类型
        cmd.Connection = conn '设置连接
        sqlAdapter = New SqlDataAdapter(cmd) '实例化适配器
        Try
            sqlAdapter.Fill(Dset) '对适配器进行填充
            dTable = Dset.Tables(0) '返回数据集的第一表

        Catch ex As Exception
            MsgBox("查询失败", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告")
        Finally
            Call closeCmd(cmd) '关闭命令
            Call closeConn(conn) '关闭链接
        End Try
        Return dTable
    End Function
End Class

</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值