VB.NET機房收費系統SQLHelper

來源:互聯網
上載者:User

標籤:vb-net   機房收費系統   sqlhelper   

一直在用SQLHelper,但是直到現在才稍稍明白一點資料連線類的妙用 真正的體現了代碼重複利用。

SQL 陳述式的 更新 插入 尋找 刪除
包括有參數的、無參數的更新 插入 尋找 刪除 都包括了

下面是代碼的詳細解釋,現在先看看明白,等到以後寫的時候就方便多了。

“`
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration ‘必須要在管理器中添加引用
”’
”’ SqlHelper類是專門提供給廣大使用者用於高效能、可升級和最佳練習的sql資料操作
”’
”’
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 = cmdType            ‘設定一個值,解釋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 TryEnd Function‘‘‘ <summary>  ‘‘‘ 執行增刪改三個操作,(無參)  ‘‘‘ </summary>  ‘‘‘ <param name="cmdText">需要執行語句,一般是Sql語句,也有預存程序</param>  ‘‘‘ <param name="cmdType">判斷Sql語句的類型,一般都不是預存程序</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 = cmdType       ‘設定Sql語句如何解釋      cmd.Connection = conn           ‘設定串連      ‘執行操作      Try        conn.Open()        Return cmd.ExecuteNonQuery()    Catch ex As Exception        Return 0    Finally        Call CloseConn(conn)        Call CloseCmd(cmd)    End TryEnd Function‘‘‘ <summary>  ‘‘‘ 執行查詢的操作,(有參),參數不限  ‘‘‘ </summary>  ‘‘‘ <param name="cmdText">需要執行語句,一般是Sql語句,也有預存程序</param>  ‘‘‘ <param name="cmdType">判斷Sql語句的類型,一般都不是預存程序</param>  ‘‘‘ <param name="paras">傳入的參數</param>  ‘‘‘ <returns></returns>  ‘‘‘ <remarks></remarks>  Public Function ExecSelect(ByVal cmdText As String, ByVal cmdType As CommandType, 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 = cmdType    cmd.Connection = conn    cmd.Parameters.AddRange(paras)  ‘參數添加      sqlAdapter = New SqlDataAdapter(cmd)  ‘執行個體化adapter      Try        sqlAdapter.Fill(ds)           ‘用adapter將dataSet填充           If ds.Tables.Count = 0 Then        Else            dt = ds.Tables(0)             ‘datatable為dataSet的第一個表              cmd.Parameters.Clear()        ‘清除參數          End If    Catch ex As Exception        MsgBox("查詢失敗", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告")    Finally                            ‘最後一定要銷毀cmd          Call CloseCmd(cmd)    End Try    Return dtEnd Function‘‘‘ <summary>  ‘‘‘ 執行查詢的操作,(無參)  ‘‘‘ </summary>  ‘‘‘ <param name="cmdText">需要執行語句,一般是Sql語句,也有預存程序</param>  ‘‘‘ <param name="cmdType">判斷Sql語句的類型,一般都不是預存程序</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 = cmdType    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 TryEnd 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 IfEnd 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 IfEnd SubEnd Class
這個資料庫連結類非常全面既可以查詢sql語句,又可以查詢檢視預存程序。觸發器沒有試過,不知道如何?

VB.NET機房收費系統SQLHelper

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.