Rubrik: Datenbanken · SQL-Server | VB-Versionen: VB6 | 06.05.11 |
Prüfen, ob ein Feld in einer Datenbank-Tabelle vorhanden ist (SQL-Server) Mit dieser Funktion lässt sich prüfen, ob ein bestimmtes Feld in einer SQL Datenbank-Tabelle vorhanden ist. | ||
Autor: Dieter Otter | Bewertung: | Views: 12.539 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit unserem heutigen Tipp setzen wir die Reihe der "Datenbank-Prüfungen" fort. Diesmal stellen wir Ihnen eine Funktion vor, mit der sich prüfen lässt, ob ein bestimmtes Datenbank-Feld in einer SQL Server Tabelle vorhanden ist oder nicht.
' Prüfen, ob Feld in der Tabelle vorhanden Public Function dbFieldExists(oConn As ADODB.Connection, _ ByVal sTableName As String, _ ByVal sField As String) As Boolean Dim oRs As ADODB.Recordset Dim sSQL As String On Error Resume Next ' SQL-Statement zum Prüfen auf Vorhandensein des Feldes sSQL = "IF EXISTS (SELECT * FROM Information_Schema.Columns WHERE " & _ "Table_Name LIKE '" & sTableName & "' AND " & _ "Column_Name LIKE '" & sField & "') SELECT 1 ELSE SELECT 0" Set oRs = oConn.Execute(sSQL) If Not oRs.EOF And Not oRs.BOF Then dbFieldExists = (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