VB.net之旅-SQLHelper的应用程序配置文件和使用(机房收费系统重构个人版)

VB.net之旅-SQLHelper的应用程序配置文件和使用(机房收费系统重构个人版),第1张

概述       “就不能不换DB吗?——抽象工厂模式”,没错,这是大话设计中的一章,在这一章中,大鸟教会了小菜,用配置文件改变‘DB’的值,从而改变了应用程序要访问的数据库类型。详情请见大话设计模式P157      我们在SQLHelper中也用到了配置文件来改变SQLHelper中数据库连接的字符串  因为我们使用的是应用程序配置文件,所以我们将配置文件添加在UI层,右击UI层->新建项->常规

“就不能不换DB吗?——抽象工厂模式”,没错,这是大话设计中的一章,在这一章中,大鸟教会了小菜,用配置文件改变‘DB’的值,从而改变了应用程序要访问的数据库类型。详情请见大话设计模式P157

我们在sqlHelper中也用到了配置文件来改变sqlHelper中数据库连接的字符串

因为我们使用的是应用程序配置文件,所以我们将配置文件添加在UI层,右击UI->新建项->常规->应用程序配置文件,在app.config中对connstr进行赋值。

sqlHelper将我们日常生活中常用的四个存储过程(insertdeletemodify select)进行了封装 无参,返回值为所影响行数的增删改方法 有参,返回值为所影响行数的增删改方法 无参,返回值为sqlDataReader的查方法 有参,返回值为sqlDataReader的查方法
<span >imports Systemimports System.Data'需要在解决方案管理器中对sqlHelper所在的项目中添加对System.Configuration的引用imports System.Configurationimports System.Data.sqlClIEntPublic Class sqlHelper    Dim conn As sqlConnection    Dim cmd As sqlCommand    Dim connstr As String = ConfigurationManager.AppSettings("connstr").ToString    Public sqlHelper()#Region "建立数据库连接对象"    ''' <summary>    ''' 建立数据库的连接    ''' </summary>    ''' <returns>返回一个数据库的连接sqlConnection对象</returns>    ''' <remarks></remarks>    Public Function getsqlConnection() As sqlConnection        Try            conn = New sqlConnection(connstr) '利用配置文件,连接到connstr所指定的数据库            If (conn.State.Equals(ConnectionState.Open)) = False Then                conn.@R_403_5248@            End If        Catch ex As Exception            Throw New Exception(ex.Message.ToString())        End Try        Return conn    End Function#End Region#Region "设置sqlCommand对象"    ''' <summary>    ''' 设置sqlCommand对象    ''' </summary>    ''' <param name="cmd">sqlCommand对象</param>    ''' <param name="cmdText">命令文本</param>    ''' <param name="cmdType">命令类型</param>    ''' <param name="cmdParms">参数集合</param>    ''' <remarks></remarks>    Public Sub SetCommand(ByVal cmd As sqlCommand,ByVal cmdText As String,ByVal cmdType As CommandType,ByVal cmdParms As sqlParameter())        cmd.Connection = conn        cmd.CommandText = cmdText        cmd.CommandType = cmdType        If (cmdParms Is nothing) = False Then            cmd.Parameters.AddRange(cmdParms)        End If    End Sub#End Region#Region "无参,返回所影响的行数的增删改方法"    ''' <summary>    ''' 执行不带参数SQL语句或存储过程,返回所影响的行数    ''' </summary>    ''' <param name="cmdText">增,删,改SQL语句</param>    ''' <returns>返回所影响的行数</returns>    ''' <remarks></remarks>    Public Function ExecuteNonquery(ByVal cmdText As String) As Int16        Dim count As Int16        Try            getsqlConnection()            cmd = New sqlCommand(cmdText,conn)            count = cmd.ExecuteNonquery()            conn.Close()        Catch ex As Exception            Throw New Exception(ex.Message.ToString())        End Try        Return count    End Function#End Region#Region "有参,返回所影响的行数的增删改方法"    ''' <summary>    ''' 执行带参数SQL语句或存储过程,返回所影响的行数    ''' </summary>    ''' <param name="cmdText">带参数的SQL语句和存储过程名</param>    ''' <param name="cmdType">命令类型</param>    ''' <param name="cmdparms">参数集合</param>    ''' <returns>返回所影响的行数</returns>    ''' <remarks></remarks>    Public Function ExecuteNonquery(ByVal cmdText As String,ByVal cmdparms As sqlParameter())        Dim count As Int16        Try            getsqlConnection()            Dim cmd As New sqlCommand            SetCommand(cmd,cmdText,cmdType,cmdparms)            count = cmd.ExecuteNonquery()            cmd.Parameters.Clear()            conn.Close()        Catch ex As Exception            Throw New Exception(ex.Message.ToString)        End Try        Return count    End Function#End Region#Region "无参,具有返回值的查询方法"    ''' <summary>    ''' 执行不带参数SQL语句,返回一个从数据源读取数据的sqlDataReader对象    ''' </summary>    ''' <param name="cmdText">相应的SQL语句</param>    ''' <returns>一个从数据源读取数据的sqlDataReader对象</returns>    ''' <remarks></remarks>    Public Function ExecuteReader(ByVal cmdText As String) As sqlDataReader        Dim reader As sqlDataReader        Try            getsqlConnection()            cmd = New sqlCommand(cmdText,conn)            reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)        Catch ex As Exception            Throw New Exception(ex.Message.ToString)        End Try        Return reader    End Function#End Region#Region "无参,具有返回值的查询方法"    ''' <summary>    ''' 执行带参数的SQL语句或存储过程,返回一个从数据源读取数据的sqlDataReader对象    ''' </summary>    ''' <param name="cmdText">SQL语句或存储过程名</param>    ''' <param name="cmdType">命令类型</param>    ''' <param name="cmdParms">参数集合</param>    ''' <returns>返回一个从数据源读取数据的sqlDataReader对象</returns>    ''' <remarks></remarks>    Public Function ExecuteReader(ByVal cmdText As String,ByVal cmdParms As sqlParameter()) As sqlDataReader        Dim reader As sqlDataReader        Try            getsqlConnection()            cmd = New sqlCommand()            SetCommand(cmd,cmdParms)            reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)        Catch ex As Exception            Throw New Exception(ex.Message.ToString())        End Try        Return reader    End Function#End RegionEnd Class</span>

光有代码,不会使用也发挥不了sqlHelper的强大之处

有参,返回值为所影响行数的增删改使用

有参,返回值为sqlDataReader的查方法的使用

从开始知道有个sqlHelper到真正实现,花了我一周的时间,可真是耗时耗力,不过我也体会到了sqlHelper的好处,sqlHelper简化了我们需要重复写的数据库连接,如sqlConnection,sqlCommand,sqlDataReader等等;还有,sqlHelper封装过后通常是只需要给方法传入一些参数如数据库连接字符串,sql参数等,就可以访问数据库了,很方便。

总结

以上是内存溢出为你收集整理的VB.net之旅-SQLHelper的应用程序配置文件和使用(机房收费系统重构个人版)全部内容,希望文章能够帮你解决VB.net之旅-SQLHelper的应用程序配置文件和使用(机房收费系统重构个人版)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1272949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存