Vb.net 正在MS ACCESS中检索所有表

Vb.net 正在MS ACCESS中检索所有表,vb.net,Vb.net,我在如何检索数据库中每个表的2个字段方面遇到了问题。我的MS Access中保存了3个表,即:RegularPassenger、DisablePassenger和VIPPassenger,每个表都有2个字段,分别是seatNo和Filled 这个场景是,我想让用户看看他们选择的座位是否已经预订,如果已经预订,则表示一个彩色按钮。到目前为止,我所做的代码是,我只能检索一个表 代码为: Imports System Imports System.Data.OleDb Public Class Se

我在如何检索数据库中每个表的2个字段方面遇到了问题。我的MS Access中保存了3个表,即:RegularPassenger、DisablePassenger和VIPPassenger,每个表都有2个字段,分别是seatNo和Filled

这个场景是,我想让用户看看他们选择的座位是否已经预订,如果已经预订,则表示一个彩色按钮。到目前为止,我所做的代码是,我只能检索一个表

代码为:

Imports System
Imports System.Data.OleDb

Public Class SeatsAlignment
Dim con As New System.Data.OleDb.OleDbConnection
Dim cmd As New System.Data.OleDb.OleDbCommand
Dim CntRw As Integer
Private Function CheckReservation(ByVal StNo As String) As Boolean
    If con.State = ConnectionState.Open Then con.Close()
    con = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\laptop\Documents\Trial\Sample.accdb")
    con.Open()
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "Select Count(*) From RegularPassenger Where SeatNo=@StNo And Filled=@StFld"
    cmd.Parameters.Add("@StNo", OleDb.OleDbType.VarChar, 10).Value = StNo
    cmd.Parameters.Add("@StFld", OleDb.OleDbType.VarChar, 10).Value = "RESERVED"
    cmd.Connection = con
    CntRw = cmd.ExecuteScalar()
    cmd.Parameters.Clear()
    cmd.Dispose()
    con.Close()
    con.Dispose()
    Return IIf(CntRw > 0, True, False)
End Function
Private Sub SeatsAlignment_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    RPS.Enabled = False
    DPS.Enabled = False
    VPS.Enabled = False
    TextBox1.Enabled = False
    TextBox2.Enabled = False
    Dim Buttons As New List(Of Button) From {A3, A4, A5, A6, A7, B3, B4, B5, B6, B7, _
        C3, C4, C5, C6, C7, D3, D4, D5, D6, D7, E3, E4, E5, E6, E7, F3, F4, F5, F6, F7}
    For Each btn As Button In Buttons
        If Me.CheckReservation(btn.Name) Then
            btn.BackColor = Color.Firebrick
            btn.Enabled = False
        End If
    Next
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    If MsgBox("Are you sure you want to EXIT?", vbYesNo + vbQuestion, _
        "Philippine Sweets Airline") = vbYes Then
        Me.Close()
    End If
End Sub
End Class

我不知道在第14行输入什么代码来检索所有3个表。

您可以使用系统表来获取表列表:

SELECT Name FROM MSysObjects 
WHERE Type=1 AND Flags=0

更多信息:

Name、Type=1和Flags=0的用途或用途是什么?我是否应该将代码从“SelectCount(*)from RegularPassenger Where SeatNo=@StNo AND Filled=@StFld”更改为“SelectName from MSysObjects Where Type=1和Flags=0”?