您的位置:首页 > 博客中心 > 数据库 >

SQLHlper的认识

时间:2022-03-14 04:06

        三层的学习中敲通登录的一条线的例子之后,要敲增删改查四条线的例子,所以会多次的访问到数据库,这其中对数据库的链接、打开都是一样的,只是会针对不同的表进行不同的操作,既然开始学习面向对象的思想,当让要对这些不变的要内容要进行打包,提高代码复用。所以就了解到了SQLHlper。这是对数据库连接以及操作的封装,我们在使用的时候只需要传入参数就能打开数据库,对相应的表进行操作。

       自己的SQLHlper借鉴了“巨人”的经验,同时也做了自己的改进。下面来看一下我的SQLHlper。

       首先对数据库的链接需要使用连接字符串和command命令

<span style="color:#009900;">'查询的可以调用</span>
    Public Shared Function SelectResult(ByVal conn As SqlConnection, ByVal adaptor As SqlDataAdapter, ByVal Adataset As DataSet) As DataTable
          Try
            If conn.State = ConnectionState.Closed Then  <span style="color:#009900;">'判断链接的状态,如果是关闭的则打开</span>
                conn.Open()
                adaptor.Fill(Adataset)<span style="color:#009900;"> '然后将查询到的结果填入到定义好的DataSet中</span>
            End If
        Catch ex As Exception
            MsgBox(ex.Message, , "数据库操作")
        Finally
            If conn.State = ConnectionState.Open Then <span style="color:#009900;">'最后判断链接的状态,如果是开着的则关闭</span>
                conn.Close()
            End If
        End Try
        Return Adataset.Tables(0)  <span style="color:#009900;">'返回DataSet中的表</span>
End Function


   <span style="color:#009900;"> '非查询的可以调用</span>
    Public Shared Function NoSelectResult(ByVal conn As SqlConnection, ByVal cmd As SqlCommand) As Integer
        Dim res As Integer
        Try
            If conn.State = ConnectionState.Closed Then
                conn.Open()
            End If
            res = cmd.ExecuteNonQuery()  <span style="color:#009900;">'执行非查询动作,将受影响的行数返回</span>
        Catch ex As Exception
            MsgBox(ex.Message, , "数据库操作")
        Finally
            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
        End Try
        Return res
End Function

小结

        对于SQLHlper本身的代码部分的理解是没有难度的,通过SQLHlper能进一步的认识到面向对象的好处,并且自己也试着简单的抽象一些东西,SQLHlper好像是自己做好的一个零件,当它被需要时就可以直接的拿去使用,而它本身又可以由别的零件组成,不仅提高了代码的复用性,而且在做修改的时候可以修改需要修改的“零件”,解耦和的好处啊,还需要在实践中有更多的体会!!!





热门排行

今日推荐

热门手游