一、定义:sql
SqlHelper是一个基于·NET Framework的数据库操做组件。组件中包含数据库操做方法。SqlHelper用于简化你重复的去写那些数据库链接(SqlConnection),SqlCommand,SqlDataReader等等。SqlHelper 封装事后一般是只须要给方法传入一些参数如数据库链接字符串,SQL参数等,就能够访问数据库了,很方便。数据库
SqlHelper其实就是一个封装的类,是对链接数据的一次抽象。spa
所谓无知者无谓,刚开始用vb.net链接SQL数据库的时候,每次都手动敲一遍,如今有巨人给咱们总结出来SqlHelper类,只要调用这个类,就能够很容易的链接数据库,并且大幅度减小了出错的可能。.net
'/************************************************* '做者:金福林 '小组: 无 '说明: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 cmdType 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类,而后将上述代码复制到你的类中code
使用代码:我截取一部分代码为例htm
SqlHelper是一次思想的升华,有了它仍须要咱们的进一步理解。对象