大佬教程收集整理的这篇文章主要介绍了机房重构--VB.NET的SQLHelper层讲解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因为需要调取数据库中的信息,所以需要书写与数据库连接的代码,如果不引用SQLHelper的话,这方面的工作量随着功能的增大而增多,从而使得出错和工作量大量的增加。这就是SQLHelper引用带来的好处。
SQLHelper跟SqlConnection、SqlCommand、SqlDataReader之间的连接非常密切,将SQLHelper封装过后通常是只需要给方法传入一些参数,比如数据库的连接字符串、SQL参数等,这样就能很方便的连接数据库了,现在这里给大家介绍一下VB.NET中SQLHelper的书写:、
首先,为了简化代码的引用,我们一般会在配置文件里面设定好数据库的连接地址、数据库、帐号和密码等一些信息,所以SQLHelper在连接数据库的时候就需要跟配置文件相联系起来,这里先给大家介绍一下如何在配置文件中设定数据库连接的信息。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <appSetTings> <add key ="strConnection" value="Server=.;Database=Charge_sys;User ID=sa;password=123"/> <add key ="DB" value="DAL"/> </appSetTings> </configuration>
然后就是书写SQLHelper类中的内容了,详情请见下文代码:
Imports System.Data Imports System.Data.SqlClient Imports System.Configuration '必须要在管理器中添加引用 ''' <sumMary> ''' SqlHelper类是专门提供给广大用户用于高性能、可升级和最佳练习的sql数据操作 ''' </sumMary> ''' <REMARKs></REMARKs> Public Class SqlHelper '定义变量 '获得数据库的连接字符串 Private ReadOnly strConnection As String = ConfigurationManager.AppSetTings("ConnStr") '设置连接 Dim conn As SqlConnection = New SqlConnection(strConnection) '定义cmd命令 Dim cmd As New SqlCommand ''' <sumMary> ''' 执行增删改三个操作,(有参)返回值为Boolean类型,确认是否执行成功 ''' </sumMary> ''' <param name="cmdText">需要执行语句,一般是sql语句,也有存储过程</param> ''' <param name="cmdType">判断sql语句的类型,一般都不是存储过程</param> ''' <param name="paras">参数数组,无法确认有多少参数</param> ''' <returns></returns> ''' <REMARKs></REMARKs> Public Function ExecAddDelupdate(ByVal cmdText As String,ByVal cmdType As CommandType,ByVal paras As SqlParameter()) As Integer '将传入的值,分别为cmd的属性赋值 cmd.Parameters.AddRange(paras) '将参数传入 cmd.Commandtype = cR_974_11845@dType '设置一个值,解释cmdText cmd.Connection = conn '设置连接,全局变量 cmd.CommandText = cmdText '设置查询的语句 Try conn.open() '打开连接 Return cmd.ExecuteNonQuery() '执行增删改操作 cmd.Parameters.Clear() '清除参数 Catch ex As Exception Return 0 '如果出错,返回0 Finally Call CloseConn(conn) Call CloseCmd(cmd) End Try End Function ''' <sumMary> ''' 执行增删改三个操作,(无参) ''' </sumMary> ''' <param name="cmdText">需要执行语句,一般都不是存储过程</param> ''' <returns>Interger,受影响的行数</returns> ''' <REMARKs>2013年2月2日8:19:59</REMARKs> Public Function ExecAddDelupdateNo(ByVal cmdText As String,ByVal cmdType As CommandTypE) As Integer '为要执行的命令cmd赋值 cmd.CommandText = cmdText '先是查询的sql语句 cmd.Commandtype = cR_974_11845@dType '设置sql语句如何解释 cmd.Connection = conn '设置连接 '执行操作 Try conn.open() Return cmd.ExecuteNonQuery() Catch ex As Exception Return 0 Finally Call CloseConn(conn) Call CloseCmd(cmd) End Try End Function ''' <sumMary> ''' 执行查询的操作,(有参),参数不限 ''' </sumMary> ''' <param name="cmdText">需要执行语句,一般都不是存储过程</param> ''' <param name="paras">传入的参数</param> ''' <returns></returns> ''' <REMARKs></REMARKs> Public Function ExecSELEct(ByVal cmdText As String,ByVal paras As SqlParameter()) As DataTable Dim sqlAdapter As SqlDataAdapter Dim dt As New DataTable Dim ds As New DataSet '还是给cmd赋值 cmd.CommandText = cmdText cmd.Commandtype = cR_974_11845@dType cmd.Connection = conn cmd.Parameters.AddRange(paras) '参数添加 sqlAdapter = New SqlDataAdapter(cmd) '实例化adapter Try sqlAdapter.Fill(ds) '用adapter将dataSet填充 dt = ds.Tables(0) 'datatable为dataSet的第一个表 cmd.Parameters.Clear() '清除参数 Catch ex As Exception MsgBox("查询失败",CType(vbOKOnly + MsgBoxStyle.Exclamation,MsgBoxStylE),"警告") Finally '最后一定要销毁cmd Call CloseCmd(cmd) End Try Return dt End Function ''' <sumMary> ''' 执行查询的操作,一般都不是存储过程</param> ''' <returns>dataTable,查询到的表格</returns> ''' <REMARKs></REMARKs> Public Function ExecSELEctNo(ByVal cmdText As String,ByVal cmdType As CommandTypE) As DataTable Dim sqlAdapter As SqlDataAdapter Dim ds As New DataSet '还是给cmd赋值 cmd.CommandText = cmdText cmd.Commandtype = cR_974_11845@dType cmd.Connection = conn sqlAdapter = New SqlDataAdapter(cmd) '实例化adapter Try sqlAdapter.Fill(ds) '用adapter将dataSet填充 Return ds.Tables(0) 'datatable为dataSet的第一个表 Catch ex As Exception Return Nothing Finally '最后一定要销毁cmd Call CloseCmd(cmd) End Try End Function ''' <sumMary> ''' 关闭连接 ''' </sumMary> ''' <param name="conn">需要关闭的连接</param> ''' <REMARKs></REMARKs> Public Sub CloseConn(ByVal conn As SqlConnection) If (conn.State <> ConnectionState.Closed) Then '如果没有关闭 conn.Close() '关闭连接 conn = Nothing '不指向原对象 End If End Sub ''' <sumMary> ''' 关闭命令 ''' </sumMary> ''' <param name="cmd">需要关闭的命令</param> ''' <REMARKs></REMARKs> Public Sub CloseCmd(ByVal cmd As SqlCommand) If Not Isnothing(cmd) Then '如果cmd命令存在 cmd.Dispose() '销毁 cmd = Nothing End If End Sub End Class
以上是大佬教程为你收集整理的机房重构--VB.NET的SQLHelper层讲解全部内容,希望文章能够帮你解决机房重构--VB.NET的SQLHelper层讲解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。