vb.net中的SqlHelper
发布时间:2020-12-17 07:50:29 所属栏目:百科 来源:网络整理
导读:1、定义: SqlHelper是一个基于·NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接
1、定义: SqlHelper是一个基于·NET Framework的数据库操作组件。组件中包含数据库操作方法。SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。
SqlHelper其实就是一个封装的类,是对连接数据的一次抽象。 所谓无知者无谓,刚开始用vb.net连接SQL数据库的时候,每次都手动敲一遍,现在有巨人给我们总结出来SqlHelper类,只要调用这个类,就可以很容易的连接数据库,而且大幅度减少了出错的可能。
2、方法:
在 SqlHelper 类中实现的方法包括:
ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回
存储过程的输出参数。
ExecuteReader。此方法用于返回
SqlDataReader对象,该对象包含由某一命令返回的
结果集。
ExecuteDataset。此方法返回
DataSet对象,该对象包含由某一命令返回的
ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。
ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。
3、代码
'/************************************************* '作者:金福林 '小组: 无 '说明:SqlHelper类 '创建日期:2014/5/4 19:47:29 '版本号:1.1.0 '**********************************************/ Imports Entity Imports System.Data.SqlClient ''' <summary> ''' 对数据库的增删改查 ''' </summary> ''' <remarks></remarks> Public Class SqlHelper Dim con As String = System.Configuration.ConfigurationSettings.AppSettings("con") Dim sqlcon As SqlConnection = New SqlConnection(con) Dim cmd As New SqlClient.SqlCommand '使用command对象执行命令并返回 ''' <summary> ''' 执行增删改三个操作,有参数 ''' </summary> ''' <param name="cmdText"></param> ''' <param name="cmdType"></param> ''' <param name="sqlParams"></param> ''' <returns></returns> ''' <remarks></remarks> Public Function ExecAddDelUpdate(ByVal cmdText As String,ByVal cmdType As String,ByVal sqlParams As SqlParameter()) As Integer cmd.Parameters.AddRange(sqlParams) '将参数传入 cmd.CommandType = cmdType cmd.Connection = sqlcon '设置连接 cmd.CommandText = cmdText Try sqlcon.Open() '打开连接 Return cmd.ExecuteNonQuery() '执行增删改 cmd.Parameters.Clear() '清除参数 Catch ex As Exception Return 0 Finally Call CloseCon(sqlcon) Call CloseCmd(cmd) End Try End Function ''' <summary> ''' 执行增删改,无参数 ''' </summary> ''' <param name="cmdText"></param> ''' <param name="cmdType"></param> ''' <returns></returns> ''' <remarks></remarks> Public Function ExecAddDelUpdate(ByVal cmdText As String,ByVal cmdType As String) As Integer cmd.CommandText = cmdText cmd.CommandType = cmdType cmd.Connection = sqlcon Try sqlcon.Open() Return cmd.ExecuteNonQuery() Catch ex As Exception Return 0 Finally Call CloseCon(sqlcon) Call CloseCmd(cmd) End Try End Function ''' <summary> ''' 执行查询,有参数 ''' </summary> ''' <param name="cmdText"></param> ''' <param name="cmdType"></param> ''' <param name="sqlParams"></param> ''' <returns></returns> ''' <remarks></remarks> Public Function ExecSelect(ByVal cmdText As String,ByVal sqlParams As SqlParameter()) As DataTable Dim sqlAdapter As SqlDataAdapter Dim dt As New DataTable Dim ds As New DataSet cmd.CommandText = cmdText cmd.CommandType = cmdType cmd.Connection = sqlcon cmd.Parameters.AddRange(sqlParams) sqlAdapter = New SqlDataAdapter(cmd) Try sqlAdapter.Fill(ds) '填充dataset dt = ds.Tables(0) 'dt为dataset的第一个表 cmd.Parameters.Clear() Catch ex As Exception Return Nothing Finally Call CloseCmd(cmd) End Try Return dt End Function ''' <summary> ''' 执行查询,无参数 ''' </summary> ''' <param name="cmdText"></param> ''' <param name="cmdType"></param> ''' <returns></returns> ''' <remarks></remarks> Public Function ExecSelect(ByRef cmdText As String,ByVal cmdType As String) As DataTable Dim sqlAdapter As SqlDataAdapter Dim ds As New DataSet cmd.CommandText = cmdText cmd.CommandType = cmdType cmd.Connection = sqlcon sqlAdapter = New SqlDataAdapter(cmd) Try sqlAdapter.Fill(ds) Return ds.Tables(0) Catch ex As Exception Return Nothing Finally Call CloseCmd(cmd) End Try End Function ''' <summary> ''' 关闭数据库连接 ''' </summary> ''' <param name="con"></param> ''' <remarks></remarks> Public Sub CloseCon(ByVal con As SqlConnection) If (con.State <> ConnectionState.Closed) Then con.Close() con = 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.Dispose() cmd = Nothing End If End Sub End Class 我们只需要在D层,添加SqlHelper类,然后将上述代码复制到你的类中 使用代码:我截取一部分代码为例
SqlHelper是一次思想的升华,有了它仍需要我们的进一步理解。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |