Imports System.Data.SqlClient Imports Oracle.ManagedDataAccess.Client Public Class clsDatatabase Public Shared Function ExecuteonOracleDb(CONSTRING As String, ByVal plsqlcommand As String) Try ' die nötigen Variablen definieren Dim result As Object = Nothing Dim conn As New OracleConnectionStringBuilder Dim Oracle_Conn As OracleConnection = New OracleConnection(CONSTRING) Dim Oracle_Command As OracleCommand = Nothing Dim DataAdapter As OracleDataAdapter = Nothing ' Verbindung zur Datenbank aufbauen Try Oracle_Conn.Open() Catch ex As Exception clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonOracleDb(OpenConnection)") Return False End Try ' SQL-Abfrage definieren Try Oracle_Command = New OracleCommand(plsqlcommand, Oracle_Conn) Oracle_Command.AddToStatementCache = True Catch ex As Exception clsLogger.Add(ex.Message, True, "clsDatatabase.plsqlcommandDefine") Oracle_Conn.Close() Return False End Try ' *** Ausführen des Command *** If Command() IsNot Nothing Then Try Oracle_Command.ExecuteNonQuery() ' DB-Connection schliessen Oracle_Conn.Close() Return True Catch ex As Exception clsLogger.Add(ex.Message & vbNewLine & "Execute Command => (" & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb") Oracle_Conn.Close() Return False End Try Else ' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte ' Eintrag in Logdatei machen clsLogger.Add("SQL-Command ist ungültig bzw konnte nicht erstellt werden (SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb") Return False End If Catch ex As Exception clsLogger.Add("Unexpected Error in ExecuteonOracleDb: " & ex.Message & vbNewLine & "(SQL: " & plsqlcommand & ")", True, "clsDatatabase.ExecuteonOracleDb") ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden Return False End Try End Function Public Shared Function ExecuteonMSSQL(ConString As String, ByVal sqlcommand As String) Try ' die nötigen Variablen definieren Dim Connection As SqlConnection = Nothing ' Dim ConnectionString As SqlConnectionStringBuilder = Nothing Dim Command As SqlCommand = Nothing Dim DataAdapter As SqlDataAdapter = Nothing '' ConnectionString aufbauen (aus Settings auslesen) 'ConnectionString = New SqlConnectionStringBuilder() 'ConnectionString.DataSource = datasource 'ConnectionString.UserID = User 'ConnectionString.Password = pw 'ConnectionString.InitialCatalog = init_Cata ' Verbindung zur Datenbank aufbauen Try Connection = New SqlConnection(ConString) Connection.Open() Catch ex As Exception clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(OpenConnection)") Return False End Try ' SQL-Abfrage definieren Try Command = New SqlCommand(sqlcommand, Connection) Catch ex As Exception clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(DefineCommand)") Return False Connection.Close() End Try ' *** Ausführen des Command *** If Command IsNot Nothing Then Try Command.ExecuteNonQuery() ' DB-Connection schliessen Connection.Close() Return True Catch ex As Exception ' bei einem Fehler einen Eintrag in der Logdatei erzeugen clsLogger.Add(ex.Message, True, "clsDatatabase.ExecuteonMSSQL(ExecuteCommand)") Return False Connection.Close() End Try Else ' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte ' Eintrag in Logdatei machen clsLogger.Add("Could not create COMMAND", True, "clsDatatabase.ExecuteonMSSQL") Return False Connection.Close() End If Catch ex As Exception ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden clsLogger.Add("UNEXPECTED ERROR: " & ex.Message, True, "clsDatatabase.ExecuteonMSSQL") Return False End Try End Function End Class