多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > VB.NET機房收費系統SQLHelper

VB.NET機房收費系統SQLHelper

來源:程序員人生   發布時間:2015-05-14 09:10:25 閱讀次數:3151次

1直在用SQLHelper,但是直到現在才稍稍明白1點數據連接類的妙用 真實的體現了代碼重復利用。


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>  
''' 履行增刪改3個操作,(有參)返回值為Boolean類型,確認是不是履行成功  
''' </summary>  
''' <param name="cmdText">需要履行語句,1般是Sql語句,也有存儲進程</param>  
''' <param name="cmdType">判斷Sql語句的類型,1般都不是存儲進程</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            '設置1個值,解釋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 Try
End Function
''' <summary>  
''' 履行增刪改3個操作,(無參)  
''' </summary>  
''' <param name="cmdText">需要履行語句,1般是Sql語句,也有存儲進程</param>  
''' <param name="cmdType">判斷Sql語句的類型,1般都不是存儲進程</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 Try
End Function

''' <summary>  
''' 履行查詢的操作,(有參),參數不限  
''' </summary>  
''' <param name="cmdText">需要履行語句,1般是Sql語句,也有存儲進程</param>  
''' <param name="cmdType">判斷Sql語句的類型,1般都不是存儲進程</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的第1個表  
            cmd.Parameters.Clear()        '清除參數  
        End If

    Catch ex As Exception
        MsgBox("查詢失敗", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "正告")
    Finally                            '最后1定要燒毀cmd  
        Call CloseCmd(cmd)
    End Try
    Return dt
End Function


''' <summary>  
''' 履行查詢的操作,(無參)  
''' </summary>  
''' <param name="cmdText">需要履行語句,1般是Sql語句,也有存儲進程</param>  
''' <param name="cmdType">判斷Sql語句的類型,1般都不是存儲進程</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的第1個表  
    Catch ex As Exception
        Return Nothing
    Finally                            '最后1定要燒毀cmd  
        Call CloseCmd(cmd)
    End Try
End 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 If

End 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 If
End Sub
End Class

這個數據庫鏈接類非常全面既可以查詢sql語句,又可以查詢視圖存儲進程。觸發器沒有試過,不知道如何?

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久草在线香蕉 | 狠狠色综合一区二区 | 欧美瑟图| 亚洲高清一区二区三区久久 | 高清视频一区 | www.免费黄色 | 免费一级欧美毛片 | 久草视频播放 | 亚洲欧美大片 | 国产精品久久毛片蜜月 | 性鸥美| 一二三四视频社区5在线高清视频 | 欧美日本黄色 | japanese日本护士xx亚洲 | 欧美精品综合一区二区三区 | 久久综合国产 | 亚洲精品www | 亚洲三级精品 | 亚洲自拍偷拍专区 | 日韩欧美国产高清 | 国产亚洲久久 | 伊人久久久综在合线久久在播 | 亚洲综合国产一区二区三区 | 日韩欧美天堂 | 欧美成人影院免费观 | 久久优 | 国产精品视_精品国产免费 国产精品视频1区 | 国产精品欧美日韩一区二区 | 亚洲欧美日本人成在线观看 | 亚洲在线资源 | 日本大片aa特黄 | 伊人情人综合 | 日本高新1区2区3区 日本国产亚洲 | 伊人色影院| 午夜欧美精品久久久久久久久 | 欧美成人综合视频 | 最近视频中文在线播放 | 中文精品99久久国产 | 日韩免费一级片 | 美女网站视频在线 | 国产精品亚洲一区二区三区 |