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好像是自己做好的一个零件,当它被需要时就可以直接的拿去使用,而它本身又可以由别的零件组成,不仅提高了代码的复用性,而且在做修改的时候可以修改需要修改的“零件”,解耦和的好处啊,还需要在实践中有更多的体会!!!