如何检查表是否存在

Gop*_*pal 5 sql database vb6

如何检查表是否存在?

使用VB 6.0

cmd.CommandText = "drop table t1"
cmd.Execute
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但如果表不存在那么它显示"表不退出"

如何检查表存在或表不存在?

需要VB CODE帮助吗?

Bob*_*b77 4

对于 Jet MDB(也许对于许多 OLEDB 提供商来说通常如此),您可以使用如下方法:

Private Sub Main()
    Dim cnDB As ADODB.Connection

    Set cnDB = New ADODB.Connection
    cnDB.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
            & "Jet OLEDB:Engine Type=5;Data Source='sample.mdb'"

    'Check presence of table --------------
    Dim rsSchema As ADODB.Recordset

    Set rsSchema = _
        cnDB.OpenSchema(adSchemaColumns, _
                        Array(Empty, Empty, "t1", Empty))
    If rsSchema.BOF And rsSchema.EOF Then
        MsgBox "Table does not exist"
    Else
        MsgBox "Table exists"
    End If
    rsSchema.Close
    Set rsSchema = Nothing
    '--------------------------------------

    cnDB.Close
End Sub
Run Code Online (Sandbox Code Playgroud)