一、定義: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是一次思想的昇華,有了它仍須要咱們的進一步理解。對象