首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在VB2010中显示数据库连接状态

如何在VB2010中显示数据库连接状态
EN

Stack Overflow用户
提问于 2014-03-01 14:17:43
回答 2查看 12K关注 0票数 1

我正在开发销售点系统。我想要显示用户的数据库连接状态。我正在使用MS Access 2013数据库和Visual Studio 2010 (VB)。我为这个项目创建了模块,如下所示

代码语言:javascript
复制
Imports System.Data.OleDb
Module ModConVar
    Public sql As String
    Public cmd As OleDbCommand
    Public dr As OleDbDataReader

    Public conn As OleDbConnection
    Public connStr As String = System.Environment.CurrentDirectory.ToString & "\NCS_POS_DB.accdb"

    Public Sub ConnDB()
        Try
            conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & connStr & "")
            conn.Open()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module

我在主表单中有一个名为lblDBStatus的标签,我尝试了下面的代码,但它不起作用。

代码语言:javascript
复制
If conn.State = ConnectionState.Open Then
    lblDBStatus.Text = "CONECTED"
End If

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2014-03-01 15:36:01

只有当连接状态为open时,才会显示"CONNECTED“。否则您的标签将不会显示任何内容

尝试此操作,并确保连接已打开:

代码语言:javascript
复制
If conn.State = ConnectionState.Open Then
    lblDBStatus.Text = "CONNECTED"
Else 
    lblDBStatus.Text = "DISCONNECTED"
End If
票数 0
EN

Stack Overflow用户

发布于 2014-03-01 15:39:01

OleDbConnection公开了一个StateChanged事件。

因此,您可以像这样跟踪状态:

代码语言:javascript
复制
Public Sub ConnDB()

    Using connection As New OleDbConnection("...")
        AddHandler connection.StateChange, AddressOf Me.OnConnectionStateChange
        Try
            connection.Open()
            'Do stuff..
        Catch ex As Exception
            Throw ex
        Finally
            RemoveHandler connection.StateChange, AddressOf Me.OnConnectionStateChange
        End Try
    End Using

End Sub

Private Sub OnConnectionStateChange(sender As Object, e As StateChangeEventArgs)
    MessageBox.Show(e.CurrentState.ToString())
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22110922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档