Rubrik: Datenbanken · SQL-Server | VB-Versionen: VB6 | 04.05.11 |
Tabellen-Existenz prüfen (SQL-Server) Eine Funktion, die prüft, ob eine bestimmte Tabelle innerhalb einer SQL Datenbank vorhanden ist. | ||
Autor: Dieter Otter | Bewertung: | Views: 14.059 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Bereits vor langer Zeit haben wir einen Weg gezeigt, wie man mittels ADO die Existenz einer Datenbank-Tabelle prüfen kann:
Tabellen-Existenz prüfen (ADO)
In oben genannten Tipp wurde hierfür ein Recordset über die Tabellen-Schemen erstellt und dieses dann durchlaufen.
Heute zeigen wir eine weitere Variante, die jedoch um einiges schneller arbeitet. Wir ermitteln hierzu via T-SQL Syntax die Object-Id der Datenbank-Tabelle. Gibt die Abfrage einen Wert größer 0 zurück ist die Tabelle vorhanden, andernfalls nicht.
' Prüfen, ob Tabelle angelegt Public Function dbTableExists(oConn As ADODB.Connection, _ ByVal sTableName As String) As Boolean Dim oRs As ADODB.Recordset On Error Resume Next Set oRs = oConn.Execute("SELECT OBJECT_ID('" & sTableName & "')") If Not oRs.EOF And Not oRs.BOF Then dbTableExists = (NZ(oRs(0), 0) > 0) End If oRs.Close Set oRs = Nothing On Error GoTo 0 End Function
' Hilfsfunktion Public Function NZ(ByVal Value As Variant, _ ByVal DefaultValue As Variant) As Variant If IsNull(Value) Then NZ = DefaultValue Else NZ = Value End If End Function