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 48 mal aufgerufen.
Anzeige
![]() ![]() ![]() 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. |
sevISDN 1.0 ![]() Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats ![]() Matthias Kozlowski Umlaute konvertieren Ersetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
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. |