Es wird eine übergeordnete Funktion ProofTableState gezeigt, die unter Verwendung einiger Hilfsfunktionen den Status einer Datenbank ermittelt und entsprechend darauf reagiert. Die Hauptfunktion (Server- und Datenbankname müssen bekannt sein): ''' <summary> ''' Prüfen des Datenbank-Status am SQL-Server ''' </summary> ''' <param name="conn">die SQL-Connection</param> ''' <param name="DBName">der Datenbankname</param> ''' <returns>Rückgabe des Status als String</returns> Public Function ProofTableState(conn As SqlConnection, DBName As String) As String Dim sqlStr As String = "SELECT state_desc FROM sys.databases WHERE name='" + DBName + "'" Dim st As String Dim cmd As New SqlCommand With conn .Open() cmd = New SqlCommand(sqlStr, conn) st = cmd.ExecuteScalar.ToString cmd.Dispose() .Close() End With Return st End Function Hilfsfunktionen zur Prüfung, Ermittlung des Datanbank-Status: ''' <summary> ''' Setzen des Datenbank-Status auf ONLINE ''' </summary> ''' <param name="oConn">die SQL-Connection</param> ''' <param name="DBName">der Datenbankname</param> ''' <returns></returns> Public Function DB_SetOnline(ByRef oConn As SqlConnection, DBName As String) As Boolean Dim sqlStr As String = "ALTER DATABASE [" + DBName + "] SET ONLINE" Return ActionWithTable(oConn, DBName, sqlStr, False) End Function ''' <summary> ''' Setzen des Datenbank-Status auf OFFLINE ''' </summary> ''' <param name="oConn">die SQL-Connection</param> ''' <param name="DBName">der Datenbankname</param> ''' <returns></returns> Public Function DB_SetOffline(ByRef oConn As SqlConnection, DBName As String) As Boolean Dim sqlStr As String = "ALTER DATABASE [" + DBName + "] SET OFFLINE WITH ROLLBACK IMMEDIATE" Return ActionWithTable(oConn, DBName, sqlStr, False) End Function ''' <summary> ''' Aktion mit Datentabelle ausführen, bspw. DELETE, TRUNCATE o.a. ''' </summary> ''' <param name="conn">SQL-Verbindung</param> ''' <param name="tblName">Tabellenname</param> ''' <param name="query">Query-String für die Aktion</param> ''' <param name="flag">Message zeigen ja|nein</param> Public Function ActionWithTable(conn As SqlConnection, tblName As String, query As String, Optional flag As Boolean = True) As Boolean Try Dim cmd As New SqlCommand With cmd .Connection = conn .CommandType = CommandType.Text .CommandText = query If conn.State <> ConnectionState.Open Then conn.Open() .ExecuteNonQuery() conn.Close() End With Catch ex As System.Exception MessageBox.Show(ex.Message.ToString, "FEHLER", MessageBoxButtons.OK, MessageBoxIcon.Error) Clipboard.SetText(ex.Message.ToString) conn.Close() Finally If flag Then Dim t As String = "Aktion mit " + tblName + " erfolgreich!" MessageBox.Show(t, "ACTION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If End Try Return flag End Function Dieser Tipp wurde bereits 812 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv 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. |
sevZIP40 Pro DLL ![]() Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats Microsys Kramer Datum und Uhrzeit der letzten Anmeldung eines Benutzers ermitteln Dieser Tipp zeigt das Datum und die Uhrzeit der letzten Anmeldung an TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
|
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. |
|||||||||||||||||


Status einer SQL-Datenbank überprüfen


