Rubrik: Datenbanken · ADO.NET Allgemein | VB-Versionen: VB2005, VB2008, VB2010 | 11.11.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: 15.042 |
www.tools4vb.de | System: WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Im nachfolgenden 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.
Die Funktion erwartet hierbei als Übergabeparameter ein geöffnetes DB-Verbindungs-Objekt (SQLConnection), sowie den Tabellennamen und den zu prüfenden Spaltenname.
''' <summary> ''' Prüft, ob ein bestimmtes Feld in der angegebenen Tabelle existiert ''' </summary> ''' <param name="Conn">geöffnetes SQLConnection-Objekt</param> ''' <param name="TableName">Tabellenname</param> ''' <param name="FieldName">Name des Tabellenfeldes</param> ''' <returns>True, wenn das Feld existiert. Andernfalls False.</returns> ''' <remarks></remarks> Public Function dbFieldExists(ByVal Conn As SqlConnection, _ ByVal TableName As String, _ ByVal FieldName As String) As Boolean ' SQL-Abfragestring zusammenstellen Dim cmd As New SqlCommand( _ "SELECT COUNT(Table_Name) FROM Information_Schema.Columns WHERE " & _ "Table_Name LIKE @TableName AND Column_Name LIKE @FieldName", Conn) cmd.Parameters.AddWithValue("@TableName", TableName) cmd.Parameters.AddWithValue("@FieldName", FieldName) ' SQL-Abfragestring ausführen Dim Result As Object = cmd.ExecuteScalar() If Result IsNot Nothing Then ' Ergebnis auswerten Return (Convert.ToInt32(Result) > 0) Else Return False End If End Function