vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datenbanken · SQL-Server   |   VB-Versionen: VB604.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 OtterBewertung:  Views:  14.059 
www.tools4vb.deSystem:  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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.