⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbconn.vb

📁 vb中数据库联接
💻 VB
字号:
Public Class DBConn
    Private StrServerName As String    '存放服务器名称
    Private StrDataBaseName As String  '存放数据库名称
    Private StrUserName As String       '存放登录数据库用户名称 
    Private StrUserPsw As String        '存放登录数据库用户密码

    Private MyConnection As System.Data.SqlClient.SqlConnection = Nothing
    Private MyConnectString As String

    Private MyCommand As System.Data.SqlClient.SqlCommand
    Private MyReader As System.Data.SqlClient.SqlDataReader
    Private MyAdapter As System.Data.SqlClient.SqlDataAdapter
    Public MyDataSet As DataSet
    Private Result(,) As String
    Private MyTable As DataTable

    Public Sub New(ByVal ServerName As String, ByVal DataBaseName As String, ByVal UserName As String, ByVal UserPsw As String)
        MyDataSet = New DataSet()
        StrServerName = ServerName      '设置服务器名称
        StrDataBaseName = DataBaseName  '设置数据库名称
        StrUserName = UserName          '设置登录数据库的用户名称
        StrUserPsw = UserPsw            '设置登录数据库的用户密码
        '生成连接字符串
        MyConnectString = "Persist Security Info=False;User ID=" & StrUserName & ";password=" & StrUserPsw & ";Initial Catalog=" & StrDataBaseName & ";Data Source=" & StrServerName & ";connection timeout=1"
        MyConnection = New System.Data.SqlClient.SqlConnection(MyConnectString)
        Try
            MyConnection.Open()             '打开数据库连接
        Catch
            Debug.WriteLine("系统中的 ConnectDatabase 发生异常。" & vbCrLf & "具体描述:[" & Err.Description & "]")           '调试:报告错误
        Finally
            MyConnection.Close()
        End Try
    End Sub
    '**********************************************************************************************
    '目的:调用存储过程并返回需要的结果
    '假设:存在对应的存储过程;参数具有一一对应的关系;同时连接字符串为固定的。
    '输入:SpName:存储过程名称
    '      Parameter:参数列表
    '输出:将对数据库产生影响
    '返回:根据调用目的的不同传回不同的结果
    '**********************************************************************************************
    Public Function ExecuteSp(ByVal SpName As String, ByVal Parameter As String) As String
        Dim StrSql As String
        Try
            MyConnection.Open()
            StrSql = "exec " & SpName & " " & Parameter     '设置SQL串
            MyCommand = New System.Data.SqlClient.SqlCommand()
            MyCommand.CommandText = StrSql
            MyCommand.Connection = MyConnection
            MyReader = MyCommand.ExecuteReader
            While MyReader.Read()
                ExecuteSp = CStr(MyReader.GetValue(0))  '取出返回值
            End While
        Catch ex As Exception
            Debug.WriteLine("系统中的 ConnectDatabase 发生异常。" & vbCrLf & "具体描述:[" & Err.Description & "]")           '调试:报告错误
        Finally
            MyConnection.Close()
            MyReader.Close()  '释放内存
            MyCommand = Nothing
        End Try
    End Function
    '**********************************************************************************************
    '目的:查询数据库,并以数据集的形式返回查询结果 
    '假设:参数存在且一一对应
    '输入:View:与已修改表对应的本地数据集中的视图
    '      StrSql:查询SQL串
    '输出:无
    '返回:以数据集的形式返回查询结果   
    '**********************************************************************************************
    Public Function DstQuery(ByVal StrSql As String, ByVal View As String) As DataSet
        Try
            MyCommand = New System.Data.SqlClient.SqlCommand(StrSql, MyConnection)
            MyAdapter = New System.Data.SqlClient.SqlDataAdapter()
            MyAdapter.SelectCommand = MyCommand
            MyAdapter.Fill(MyDataSet, View)                     '填充数据集
            DstQuery = MyDataSet
        Catch ex As Exception
            Debug.WriteLine("系统中的 ConnectDatabase 发生异常。" & vbCrLf & "具体描述:[" & Err.Description & "]")           '调试:报告错误
        Finally
            MyCommand = Nothing                                 '释放内存
            MyAdapter.Dispose()
        End Try
    End Function

    Public Function ArrayResult(ByVal strSQL As String) As String(,)
        Dim i As Integer = 0
        Dim j As Integer = 0
        Dim array(,) As String
        Try
            MyConnection.Open()
            MyCommand = New System.Data.SqlClient.SqlCommand(strSQL, MyConnection)
            MyAdapter = New System.Data.SqlClient.SqlDataAdapter()
            MyAdapter.SelectCommand = MyCommand
            MyDataSet = New DataSet()
            MyAdapter.Fill(MyDataSet, "MyTable")

            Dim RowCount As Integer = MyDataSet.Tables("MyTable").Rows.Count
            Dim CollumnCount As Integer = MyDataSet.Tables("MyTable").Columns.Count
            ReDim array(RowCount, CollumnCount)

            For i = 0 To RowCount - 1
                For j = 0 To CollumnCount - 1
                    array(i, j) = CStr(MyDataSet.Tables("MyTable").Rows(i).Item(j) & "")
                Next
            Next

        Catch ex As Exception
            Debug.WriteLine("系统中的 ConnectDatabase 发生异常。" & vbCrLf & "具体描述:[" & Err.Description & "]")           '调试:报告错误
        Finally
            MyConnection.Close()

        End Try
        Return array
    End Function

    Public Sub ExecuteNonQuery(ByVal strSQL As String)
        Try
            MyConnection.Open()

            MyCommand = New System.Data.SqlClient.SqlCommand(strSQL, MyConnection)
            MyCommand.ExecuteNonQuery()

        Catch ex As Exception
            Debug.WriteLine("系统中的 ConnectDatabase 发生异常。" & vbCrLf & "具体描述:[" & Err.Description & "]")           '调试:报告错误
        Finally
            MyConnection.Close()
        End Try
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -