From 43d3ba5ef2b04c330c7146f5bdb5d008ddfd13f2 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 6 Aug 2019 15:41:02 +0200 Subject: [PATCH] Use Database from Monorepo, Add initial ODBC Support --- app/DD_Clipboard_Searcher/ClassDatabase.vb | 233 ------------------ app/DD_Clipboard_Searcher/ClassInit.vb | 40 ++- app/DD_Clipboard_Searcher/ClassLicense.vb | 2 +- .../DD_Clipboard_Watcher.vbproj | 4 +- .../ctrlApplicationAssignment.vb | 10 +- .../frmAdministration.vb | 18 +- .../frmConnection.Designer.vb | 60 +++-- app/DD_Clipboard_Searcher/frmConnection.resx | 46 ++-- app/DD_Clipboard_Searcher/frmConnection.vb | 156 ++++++++---- app/DD_Clipboard_Searcher/frmLicense.vb | 2 +- app/DD_Clipboard_Searcher/frmResultDoc.vb | 8 +- app/DD_Clipboard_Searcher/frmResultSQL.vb | 6 +- app/DD_Clipboard_Searcher/frmSplash.vb | 2 +- app/DD_Clipboard_Searcher/frmStart.vb | 12 +- app/DD_Clipboard_Searcher/modCurrent.vb | 2 + 15 files changed, 237 insertions(+), 364 deletions(-) delete mode 100644 app/DD_Clipboard_Searcher/ClassDatabase.vb diff --git a/app/DD_Clipboard_Searcher/ClassDatabase.vb b/app/DD_Clipboard_Searcher/ClassDatabase.vb deleted file mode 100644 index a6c73d3..0000000 --- a/app/DD_Clipboard_Searcher/ClassDatabase.vb +++ /dev/null @@ -1,233 +0,0 @@ -Imports System.Data.SqlClient -Imports Oracle.ManagedDataAccess.Client -Public Class ClassDatabase - Private Shared SQLSERVERConnectionString As String - Private Shared OracleConnectionString As String - Public Shared Function Get_ConnectionString(id As Integer) - Dim connectionString As String = "" - Try - 'Me.TBCONNECTIONTableAdapter.FillByID(Me.DD_DMSLiteDataSet.TBCONNECTION, id) - Dim DTConnection As DataTable = Return_Datatable("SELECT * FROM TBDD_CONNECTION WHERE GUID = " & id) - If DTConnection.Rows.Count = 1 Then - Select Case DTConnection.Rows(0).Item("SQL_PROVIDER") - Case "MS-SQL" - If DTConnection.Rows(0).Item("USERNAME") = "WINAUTH" Then - connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";Trusted_Connection=True;" - Else - connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";" - End If - ' connectionString = "Server=" & DTConnection.Rows(0).Item("SERVER") & ";Database=" & DTConnection.Rows(0).Item("DATENBANK") & ";User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";" - Case "Oracle" - If DTConnection.Rows(0).Item("BEMERKUNG").ToString.Contains("without tnsnames") Then - connectionString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & DTConnection.Rows(0).Item("SERVER") & ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & - DTConnection.Rows(0).Item("DATENBANK") & ")));User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";" - Else - connectionString = "Data Source=" & DTConnection.Rows(0).Item("SERVER") & ";Persist Security Info=True;User Id=" & DTConnection.Rows(0).Item("USERNAME") & ";Password=" & DTConnection.Rows(0).Item("PASSWORD") & ";Unicode=True" - End If - 'Case "ODBC" - ' Dim conn As New OdbcConnection("dsn=" & DTConnection.Rows(0).Item("SERVER") & ";uid=" & DTConnection.Rows(0).Item("USERNAME") & ";pwd=" + DTConnection.Rows(0).Item("PASSWORD")) - ' connectionString = conn.ConnectionString - Case Else - LOGGER.Info(" - ConnectionType nicht integriert", False) - MsgBox("ConnectionType nicht integriert", MsgBoxStyle.Critical, "Bitte Konfiguration Connection überprüfen!") - End Select - Else - LOGGER.Info(" No entry for Connection-ID: " & id.ToString, True) - End If - - Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info(" - Error in bei Get ConnectionString - Fehler: " & vbNewLine & ex.Message) - MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Get ConnectionString:") - End Try - Return connectionString - End Function - Public Shared Function Init() - Try - SQLSERVERConnectionString = MyConnectionString - Dim SQLconnect As New SqlConnection - SQLconnect.ConnectionString = SQLSERVERConnectionString - SQLconnect.Open() - SQLconnect.Close() - Return True - Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info("Fehler bei Database-Init: " & ex.Message, True) - Return False - End Try - End Function - - Public Shared Function Return_Datatable(Select_anweisung As String, Optional userInput As Boolean = False) - Try - Dim SQLconnect As New SqlConnection - Dim SQLcommand As SqlCommand - Logger.Debug(">>> ReturnDatatable: " & Select_anweisung) - SQLconnect.ConnectionString = SQLSERVERConnectionString - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = Select_anweisung - LOGGER.Debug(">>> Execute ReturnDatatable: " & Select_anweisung) - Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(SQLcommand) - Dim dt As DataTable = New DataTable() - adapter1.Fill(dt) - SQLconnect.Close() - Return dt - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Return Datatable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & Select_anweisung, MsgBoxStyle.Critical) - End If - 'Clipboard.SetText("Error: " & ex.Message & vbNewLine & "SQL: " & Select_anweisung) - Logger.Info("Fehler bei Return_Datatable: " & ex.Message, True) - LOGGER.Info("#SQL: " & Select_anweisung, False) - Return Nothing - End Try - End Function - Public Shared Function Return_Datatable_CS(SQLCommand As String, Conn_ID As Integer, Optional userInput As Boolean = False) - Try - Dim oConString As String = Get_ConnectionString(Conn_ID) - LOGGER.Debug(">>> ReturnDatatable: " & SQLCommand) - Dim oSQLconnect As New SqlConnection - Dim oSQLcommand As SqlCommand - oSQLconnect.ConnectionString = oConString - oSQLconnect.Open() - oSQLcommand = oSQLconnect.CreateCommand - oSQLcommand.CommandText = SQLCommand - - Dim oSQLAdapter As SqlDataAdapter = New SqlDataAdapter(oSQLcommand) - Dim oReturnDatatable As DataTable = New DataTable() - oSQLAdapter.Fill(oReturnDatatable) - oSQLconnect.Close() - Return oReturnDatatable - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Return_Datatable_CS - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & SQLCommand, MsgBoxStyle.Critical) - End If - LOGGER.Info("Fehler bei Return_Datatable_CS: " & ex.Message, True) - LOGGER.Info("#SQL: " & SQLCommand, False) - Return Nothing - End Try - End Function - Public Shared Function Execute_non_Query(ExecuteCMD As String, Optional userInput As Boolean = False) - Try - Dim SQLconnect As New SqlConnection - Dim SQLcommand As SqlCommand - SQLconnect.ConnectionString = SQLSERVERConnectionString - LOGGER.Debug(">>> Execute_non_Query: " & ExecuteCMD) - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - 'Update Last Created Record in Foo - SQLcommand.CommandText = ExecuteCMD - LOGGER.Debug(">>> Execute NonQuery: " & ExecuteCMD) - SQLcommand.ExecuteNonQuery() - SQLcommand.Dispose() - SQLconnect.Close() - Return True - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute non query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical) - End If - 'Clipboard.SetText("Error ExecuteCMD: " & ex.Message & vbNewLine & "SQL: " & ExecuteCMD) - Logger.Info("Fehler bei Execute_non_Query: " & ex.Message, True) - LOGGER.Info("#SQL: " & ExecuteCMD, False) - - Return False - End Try - End Function - Public Shared Function Execute_Scalar(cmdscalar As String, ConString As String, Optional userInput As Boolean = False) - Dim result - Try - Dim SQLconnect As New SqlConnection - Dim SQLcommand As SqlCommand - SQLconnect.ConnectionString = ConString - Logger.Debug(">>> Execute_non_Query: " & cmdscalar) - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = cmdscalar - Logger.Debug(">>> Execute Scalar: " & cmdscalar) - result = SQLcommand.ExecuteScalar() - SQLcommand.Dispose() - SQLconnect.Close() - Return result - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Execute Scalar - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & cmdscalar, MsgBoxStyle.Critical) - End If - ' Clipboard.SetText("Error Execute_Scalar: " & ex.Message & vbNewLine & "SQL: " & cmdscalar) - Logger.Info("Fehler bei Execute_Scalar: " & ex.Message, True) - LOGGER.Info("#SQL: " & cmdscalar, False) - Return Nothing - End Try - End Function - Public Shared Function OracleExecute_Scalar(cmdscalar As String, OracleConnection As String) - Dim result - Try - Dim SQLconnect As New OracleConnection - Dim SQLcommand As New OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = cmdscalar - result = SQLcommand.ExecuteScalar() - SQLcommand.Dispose() - SQLconnect.Close() - Return result - Catch ex As Exception - LOGGER.Error(ex) - LOGGER.Info("Fehler bei OracleExecute_Scalar: " & ex.Message, True) - LOGGER.Info("#SQL: " & cmdscalar, False) - Return Nothing - End Try - End Function - Public Shared Function OracleExecute_non_Query(ExecuteCMD As String, OracleConnection As String, Optional userInput As Boolean = False) - Try - Dim SQLconnect As New OracleConnection - Dim SQLcommand As OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = ExecuteCMD - SQLcommand.ExecuteNonQuery() - SQLcommand.Dispose() - SQLconnect.Close() - Return True - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in OracleExecute_non_Query - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & ExecuteCMD, MsgBoxStyle.Critical) - End If - LOGGER.Info("Fehler bei OracleExecute_non_Query: " & ex.Message, True) - LOGGER.Info("#SQL: " & ExecuteCMD, False) - - Return False - End Try - End Function - - Public Shared Function Oracle_Return_Datatable(Select_anweisung As String, OracleConnection As String, Optional userInput As Boolean = False) - Try - Dim SQLconnect As New OracleConnection - Dim SQLcommand As OracleCommand - SQLconnect.ConnectionString = OracleConnection - SQLconnect.Open() - SQLcommand = SQLconnect.CreateCommand - SQLcommand.CommandText = Select_anweisung - - Dim adapter1 As OracleDataAdapter = New OracleDataAdapter(SQLcommand) - Dim dt As DataTable = New DataTable() - adapter1.Fill(dt) - SQLconnect.Close() - Return dt - Catch ex As Exception - LOGGER.Error(ex) - If userInput = True Then - MsgBox("Error in Oracle Return Datatable - Error-Message:" & vbNewLine & ex.Message & vbNewLine & "SQL-Command:" & vbNewLine & Select_anweisung, MsgBoxStyle.Critical) - End If - LOGGER.Info("Fehler bei Oracle_Return_Datatable: " & ex.Message, True) - LOGGER.Info("#SQL: " & Select_anweisung, False) - Return Nothing - End Try - End Function -End Class diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index 9a03326..e581eec 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -2,9 +2,12 @@ Imports DD_LIB_Standards Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Config +Imports DigitalData.Modules.Database Public Class ClassInit Public _lizenzManager As clsLicenseManager + Public _database As MSSQLServer + Public Sub InitLogger() LogConfig = New LogConfig(LogConfig.PathType.AppData) Logger = LogConfig.GetLogger() @@ -29,6 +32,23 @@ Public Class ClassInit Return True End If End Function + + Public Function InitDatabase_New() As Boolean + If MyConnectionString = String.Empty Then + MsgBox("No Databaseconnection configured. (First Start or Appdata not accessible)" & vbNewLine & "Basic-Config will be loaded.", MsgBoxStyle.Information) + ERROR_INIT = "NO DB-CONNECTION" + frmConfig_Basic.ShowDialog() + End If + + Try + Database = New MSSQLServer(LogConfig, MyConnectionString) + Return True + Catch ex As Exception + Logger.Error(ex) + Return False + End Try + End Function + Public Function InitBasics() ConfigManager = New ConfigManager(Of ClassConfig)(LogConfig, Application.UserAppDataPath, Application.CommonAppDataPath) @@ -74,7 +94,7 @@ Public Class ClassInit USER_USERNAME = _User End If Try - DT_CLIENT_USER = clsDatabase.Return_Datatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False) + DT_CLIENT_USER = Database.GetDatatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False) If DT_CLIENT_USER.Rows.Count > 1 Then frmClientLogin.ShowDialog() ElseIf DT_CLIENT_USER.Rows.Count = 1 Then @@ -92,7 +112,7 @@ Public Class ClassInit 'ClassLogger.Add(">> Username: " & USER_USERNAME, False) Dim sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','CW',{1})", USER_USERNAME, CLIENT_SELECTED) - Dim DT_CHECKUSER_MODULE As DataTable = clsDatabase.Return_Datatable(sql) + Dim DT_CHECKUSER_MODULE As DataTable = Database.GetDatatable(sql) If DT_CHECKUSER_MODULE.Rows.Count = 0 Then Logger.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True) 'ERROR_STATE = "NO USER" @@ -142,12 +162,12 @@ Public Class ClassInit ClassLicense.Refresh_Licence(DT_CLIENT_USER.Rows(0).Item("CLIENT_ID")) 'Am System anmelden ' sql = String.Format("UPDATE TBDD_USER SET LOGGED_IN = 1, LOGGED_WHERE = '{0}' WHERE GUID = {1}", Environment.MachineName, USER_ID) - 'clsDatabase.Execute_non_Query(sql) + 'Database.GetDatatable(sql) sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Clipboard-Watcher'" - clsDatabase.Execute_non_Query(sql, True) + Database.ExecuteNonQuery(sql, True) sql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Clipboard-Watcher','{2}','{3}')", USER_ID, 0, My.Application.Info.Version.ToString, Environment.MachineName) - clsDatabase.Execute_non_Query(sql) + Database.ExecuteNonQuery(sql) If USER_IS_ADMIN = True Then If ESC_Hidden = True Then @@ -162,8 +182,8 @@ Public Class ClassInit ' pageAdmin.Visible = True End If - WD_UNICODE = clsDatabase.Execute_Scalar("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WHERE GUID = 1") - GDPICTURE_LICENSE = clsDatabase.Execute_Scalar("SELECT GDPICTURE_LICENSE FROM TBCW_CONFIGURATION WHERE GUID = 1") + WD_UNICODE = Database.NewExecuteScalar("SELECT WD_UNICODE FROM TBCW_CONFIGURATION WHERE GUID = 1") + GDPICTURE_LICENSE = Database.NewExecuteScalar("SELECT GDPICTURE_LICENSE FROM TBCW_CONFIGURATION WHERE GUID = 1") Logger.Debug(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False) If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then @@ -178,7 +198,7 @@ Public Class ClassInit If USER_IS_ADMIN = False Then 'Anmeldung wieder herausnehmen sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Clipboard-Watcher'" - clsDatabase.Execute_non_Query(sql, True) + Database.ExecuteNonQuery(sql, True) Logger.Info(" - logged out the user", False) Return False End If @@ -197,12 +217,12 @@ Public Class ClassInit Public Shared Sub Refresh_Profile_Links() Try Dim oSql = String.Format("SELECT * FROM VWCW_USER_PROFILE WHERE USER_ID = {0} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {0}))", USER_ID) - DT_USER_PROFILES = clsDatabase.Return_Datatable(oSql) + DT_USER_PROFILES = Database.GetDatatable(oSql) If DT_USER_PROFILES.Rows.Count = 0 Then MsgBox("No profiles configured for this user so far!", MsgBoxStyle.Exclamation) Else oSql = $"SELECT * FROM VWCW_PROFILE_REL_WINDOW WHERE USER_ID = {USER_ID}" - DTPROFILE_REL_WINDOW = clsDatabase.Return_Datatable(oSql) + DTPROFILE_REL_WINDOW = Database.GetDatatable(oSql) End If Catch ex As Exception MsgBox("Unexpected Error in Refresh_Profile_Links: " & ex.Message, MsgBoxStyle.Critical) diff --git a/app/DD_Clipboard_Searcher/ClassLicense.vb b/app/DD_Clipboard_Searcher/ClassLicense.vb index ab25c45..0c60eb2 100644 --- a/app/DD_Clipboard_Searcher/ClassLicense.vb +++ b/app/DD_Clipboard_Searcher/ClassLicense.vb @@ -4,7 +4,7 @@ Public Class ClassLicense Private Shared Sub Get_License(CLIENT_ID As Integer) Dim sql As String = String.Format("SELECT LICENSE_DDCBSEARCHER FROM TBDD_CLIENT WHERE GUID = {0}", CLIENT_ID) - lic_string = clsDatabase.Execute_Scalar(sql) + lic_string = Database.NewExecuteScalar(sql) End Sub Public Shared Sub Refresh_Licence(CLIENT_ID As Integer) Try diff --git a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj index 6e79988..e5010ae 100644 --- a/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj +++ b/app/DD_Clipboard_Searcher/DD_Clipboard_Watcher.vbproj @@ -70,6 +70,9 @@ ..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll + + ..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll + False ..\..\..\DDMonorepo\Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll @@ -127,7 +130,6 @@ - diff --git a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb index c9152a7..592839e 100644 --- a/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb +++ b/app/DD_Clipboard_Searcher/ctrlApplicationAssignment.vb @@ -40,11 +40,11 @@ Public Class ctrlApplicationAssignment If oProcessName <> "" Then Dim oSQL = String.Format("INSERT INTO TBCW_PROFILE_PROCESS (PROFILE_ID,PROC_NAME,ADDED_WHO) VALUES ({0},'{1}','{2}')", ProfileId, oProcessName, Environment.UserName) - If clsDatabase.Execute_non_Query(oSQL) = False Then + If Database.ExecuteNonQuery(oSQL) = False Then Return False Else oSQL = String.Format("INSERT INTO TBCW_PROF_REL_WINDOW (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$','{4}')", ProfileId, oProcessName, oProcessName, oWindowTitle, Environment.UserName) - If clsDatabase.Execute_non_Query(oSQL) = False Then + If Database.ExecuteNonQuery(oSQL) = False Then Return False End If End If @@ -63,7 +63,7 @@ Public Class ctrlApplicationAssignment Try Dim oProcessId = GridViewProcessProfile.GetFocusedRowCellValue(GridViewProcessProfile.Columns("GUID")) Dim oSQL = String.Format("EXEC PRCW_DELETE_PROCESS {0}", oProcessId) - If clsDatabase.Execute_non_Query(oSQL) Then + If Database.ExecuteNonQuery(oSQL) Then Process_Load(Current_ProfileId) Return True End If @@ -110,7 +110,7 @@ Public Class ctrlApplicationAssignment If oWindowTitle <> "" Then Dim insert = String.Format("INSERT INTO TBCW_PROF_REL_WINDOW (PROFILE_ID, DESCRIPTION, PROCESS_NAME, REGEX, ADDED_WHO) VALUES ({0}, '{1}', '{2}','^{3}$','{4}')", ProfileId, oProcessName, oProcessName, oWindowTitle, Environment.UserName) - If clsDatabase.Execute_non_Query(insert) = False Then + If Database.ExecuteNonQuery(insert) = False Then Return False End If End If @@ -128,7 +128,7 @@ Public Class ctrlApplicationAssignment Try Dim oGuid = GridView_Window.GetFocusedRowCellValue(GridView_Window.Columns("GUID")) Dim oSQL = String.Format("DELETE FROM TBCW_PROF_REL_WINDOW WHERE GUID = {0}", oGuid) - If clsDatabase.Execute_non_Query(oSQL) Then + If Database.ExecuteNonQuery(oSQL) Then Process_Load(Current_ProfileId) Return True End If diff --git a/app/DD_Clipboard_Searcher/frmAdministration.vb b/app/DD_Clipboard_Searcher/frmAdministration.vb index 2873d60..aab5d77 100644 --- a/app/DD_Clipboard_Searcher/frmAdministration.vb +++ b/app/DD_Clipboard_Searcher/frmAdministration.vb @@ -135,7 +135,7 @@ Public Class frmAdministration For Each row As DataRow In MyDataset.TBWH_User.Rows If row.Item(0) = CBool(True) Then Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, row.Item(5)) - If clsDatabase.Execute_non_Query(insert) = False Then + If Database.ExecuteNonQuery(insert) = False Then MsgBox("Could not insert the User-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If End If @@ -157,7 +157,7 @@ Public Class frmAdministration Dim Sql = String.Format("SELECT DISTINCT * FROM VWDD_USER_MODULE_CW WHERE GUID NOT IN (SELECT USER_ID FROM TBCW_USER_PROFILE WHERE PROFILE_ID = {0}) ORDER BY USERNAME", PROFILE_ID) - Dim DT_USER = clsDatabase.Return_Datatable(Sql) + Dim DT_USER = Database.GetDatatable(Sql) Try MyDataset.TBWH_User.Clear() @@ -185,7 +185,7 @@ Public Class frmAdministration Sub Refresh_Free_Groups(PROFILE_ID As Integer) Dim Sql = String.Format("SELECT DISTINCT * FROM TBDD_GROUPS WHERE GUID NOT IN (SELECT GROUP_ID FROM TBCW_GROUP_PROFILE WHERE PROFILE_ID = {0}) ORDER BY NAME", PROFILE_ID) - Dim oDataTable = clsDatabase.Return_Datatable(Sql) + Dim oDataTable = Database.GetDatatable(Sql) Try MyDataset.TBWH_GROUP.Clear() @@ -211,7 +211,7 @@ Public Class frmAdministration Exit Sub End Try Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", ID) - If clsDatabase.Execute_non_Query(del) = True Then + If Database.ExecuteNonQuery(del) = True Then Refresh_ProfileData() If GUIDTextBox.Text <> "" Then Refresh_Free_Users(GUIDTextBox.Text) @@ -294,7 +294,7 @@ Public Class frmAdministration Dim result As MsgBoxResult = MsgBox("Sind Sie sicher, dass Sie das Profil löschen wollen?", MsgBoxStyle.YesNo, "Bestätigung erforderlich:") ' wenn Speichern ja If result = MsgBoxResult.Yes Then - If clsDatabase.Execute_non_Query(swl) = True Then + If Database.ExecuteNonQuery(swl) = True Then Load_Profiles() End If End If @@ -364,7 +364,7 @@ Public Class frmAdministration Dim oRow As DataRow = GridViewUserNotInProfile.GetDataRow(oRowHandle) Dim oGuid As Integer = oRow.Item("ID") Dim insert = String.Format("INSERT INTO TBCW_USER_PROFILE (PROFILE_ID,USER_ID) VALUES ({0},{1})", GUIDTextBox.Text, oGuid) - If clsDatabase.Execute_non_Query(insert) = False Then + If Database.ExecuteNonQuery(insert) = False Then MsgBox("Error while adding user!", MsgBoxStyle.Exclamation) End If Next @@ -393,7 +393,7 @@ Public Class frmAdministration Dim oRow As DataRow = GridViewUserInProfile.GetDataRow(oRowHandle) Dim oGuid As Integer = oRow.Item("GUID") Dim del = String.Format("DELETE FROM TBCW_USER_PROFILE WHERE GUID = {0}", oGuid) - If clsDatabase.Execute_non_Query(del) = False Then + If Database.ExecuteNonQuery(del) = False Then MsgBox("Error while adding user!", MsgBoxStyle.Exclamation) End If Next @@ -419,7 +419,7 @@ Public Class frmAdministration Dim oGroupId As Integer = oRow.ID Dim oSQL As String = $"INSERT INTO TBCW_GROUP_PROFILE (PROFILE_ID,GROUP_ID) VALUES ({GUIDTextBox.Text},{oGroupId})" - If clsDatabase.Execute_non_Query(oSQL) = False Then + If Database.ExecuteNonQuery(oSQL) = False Then MsgBox("Could not insert the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If Next @@ -444,7 +444,7 @@ Public Class frmAdministration Dim oGroupId As Integer = oRow.GUID Dim oSQL As String = $"DELETE FROM TBCW_GROUP_PROFILE WHERE GUID = ({oGroupId})" - If clsDatabase.Execute_non_Query(oSQL) = False Then + If Database.ExecuteNonQuery(oSQL) = False Then MsgBox("Could not delete the Group-Definition....Check the logfile!", MsgBoxStyle.Exclamation) End If Next diff --git a/app/DD_Clipboard_Searcher/frmConnection.Designer.vb b/app/DD_Clipboard_Searcher/frmConnection.Designer.vb index f6bfbf6..faaeeca 100644 --- a/app/DD_Clipboard_Searcher/frmConnection.Designer.vb +++ b/app/DD_Clipboard_Searcher/frmConnection.Designer.vb @@ -62,11 +62,13 @@ Partial Class frmConnection Me.BarButtonAdd = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonDelete = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonSave = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage() - Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() + Me.ODBCServerTextBox = New System.Windows.Forms.ComboBox() + Me.Label1 = New System.Windows.Forms.Label() BEZEICHNUNGLabel = New System.Windows.Forms.Label() SQL_PROVIDERLabel = New System.Windows.Forms.Label() SERVERLabel = New System.Windows.Forms.Label() @@ -129,9 +131,9 @@ Partial Class frmConnection USERNAMELabel.AutoSize = True USERNAMELabel.Location = New System.Drawing.Point(14, 123) USERNAMELabel.Name = "USERNAMELabel" - USERNAMELabel.Size = New System.Drawing.Size(65, 13) + USERNAMELabel.Size = New System.Drawing.Size(76, 13) USERNAMELabel.TabIndex = 10 - USERNAMELabel.Text = "USERNAME:" + USERNAMELabel.Text = "Benutzername" ' 'PASSWORDLabel ' @@ -200,10 +202,12 @@ Partial Class frmConnection ' Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainerControl1.IsSplitterFixed = True - Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 122) + Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 125) Me.SplitContainerControl1.Name = "SplitContainerControl1" Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridControl1) Me.SplitContainerControl1.Panel1.Text = "Panel1" + Me.SplitContainerControl1.Panel2.Controls.Add(Me.Label1) + Me.SplitContainerControl1.Panel2.Controls.Add(Me.ODBCServerTextBox) Me.SplitContainerControl1.Panel2.Controls.Add(Me.chkWinAuth) Me.SplitContainerControl1.Panel2.Controls.Add(GUIDLabel) Me.SplitContainerControl1.Panel2.Controls.Add(Me.GUIDTextBox) @@ -230,7 +234,7 @@ Partial Class frmConnection Me.SplitContainerControl1.Panel2.Controls.Add(GEAENDERTWANNLabel) Me.SplitContainerControl1.Panel2.Controls.Add(Me.GEAENDERTWANNDateTimePicker) Me.SplitContainerControl1.Panel2.Text = "Panel2" - Me.SplitContainerControl1.Size = New System.Drawing.Size(714, 376) + Me.SplitContainerControl1.Size = New System.Drawing.Size(714, 383) Me.SplitContainerControl1.SplitterPosition = 241 Me.SplitContainerControl1.TabIndex = 0 Me.SplitContainerControl1.Text = "SplitContainerControl1" @@ -242,7 +246,7 @@ Partial Class frmConnection Me.GridControl1.Location = New System.Drawing.Point(0, 0) Me.GridControl1.MainView = Me.GridView1 Me.GridControl1.Name = "GridControl1" - Me.GridControl1.Size = New System.Drawing.Size(241, 376) + Me.GridControl1.Size = New System.Drawing.Size(241, 383) Me.GridControl1.TabIndex = 0 Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1}) ' @@ -282,7 +286,7 @@ Partial Class frmConnection 'chkWinAuth ' Me.chkWinAuth.AutoSize = True - Me.chkWinAuth.Location = New System.Drawing.Point(223, 181) + Me.chkWinAuth.Location = New System.Drawing.Point(223, 179) Me.chkWinAuth.Name = "chkWinAuth" Me.chkWinAuth.Size = New System.Drawing.Size(154, 17) Me.chkWinAuth.TabIndex = 31 @@ -295,6 +299,7 @@ Partial Class frmConnection Me.GUIDTextBox.Enabled = False Me.GUIDTextBox.Location = New System.Drawing.Point(17, 19) Me.GUIDTextBox.Name = "GUIDTextBox" + Me.GUIDTextBox.ReadOnly = True Me.GUIDTextBox.Size = New System.Drawing.Size(200, 21) Me.GUIDTextBox.TabIndex = 29 ' @@ -312,7 +317,7 @@ Partial Class frmConnection Me.SQL_PROVIDERComboBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_CONNECTIONBindingSource, "SQL_PROVIDER", True)) Me.SQL_PROVIDERComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.SQL_PROVIDERComboBox.FormattingEnabled = True - Me.SQL_PROVIDERComboBox.Items.AddRange(New Object() {"MS-SQL", "ORACLE"}) + Me.SQL_PROVIDERComboBox.Items.AddRange(New Object() {"MS-SQL", "ORACLE", "ODBC"}) Me.SQL_PROVIDERComboBox.Location = New System.Drawing.Point(17, 59) Me.SQL_PROVIDERComboBox.Name = "SQL_PROVIDERComboBox" Me.SQL_PROVIDERComboBox.Size = New System.Drawing.Size(200, 21) @@ -425,7 +430,7 @@ Partial Class frmConnection Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide - Me.RibbonControl1.Size = New System.Drawing.Size(714, 122) + Me.RibbonControl1.Size = New System.Drawing.Size(714, 125) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 ' 'BarButtonAdd @@ -452,6 +457,14 @@ Partial Class frmConnection Me.BarButtonSave.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonSave.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonSave.Name = "BarButtonSave" ' + 'BarButtonItem1 + ' + Me.BarButtonItem1.Caption = "Verbindungstest" + Me.BarButtonItem1.Id = 4 + Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem1.Name = "BarButtonItem1" + ' 'RibbonPage1 ' Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1}) @@ -469,23 +482,32 @@ Partial Class frmConnection ' 'RibbonStatusBar1 ' - Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 498) + Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 508) Me.RibbonStatusBar1.Name = "RibbonStatusBar1" Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1 - Me.RibbonStatusBar1.Size = New System.Drawing.Size(714, 31) + Me.RibbonStatusBar1.Size = New System.Drawing.Size(714, 21) ' 'RibbonPage2 ' Me.RibbonPage2.Name = "RibbonPage2" Me.RibbonPage2.Text = "RibbonPage2" ' - 'BarButtonItem1 + 'ODBCServerTextBox ' - Me.BarButtonItem1.Caption = "Verbindungstest" - Me.BarButtonItem1.Id = 4 - Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) - Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) - Me.BarButtonItem1.Name = "BarButtonItem1" + Me.ODBCServerTextBox.FormattingEnabled = True + Me.ODBCServerTextBox.Location = New System.Drawing.Point(223, 19) + Me.ODBCServerTextBox.Name = "ODBCServerTextBox" + Me.ODBCServerTextBox.Size = New System.Drawing.Size(200, 21) + Me.ODBCServerTextBox.TabIndex = 32 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(220, 3) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(101, 13) + Me.Label1.TabIndex = 33 + Me.Label1.Text = "ODBC Verbindung *" ' 'frmConnection ' @@ -495,7 +517,7 @@ Partial Class frmConnection Me.Controls.Add(Me.SplitContainerControl1) Me.Controls.Add(Me.RibbonStatusBar1) Me.Controls.Add(Me.RibbonControl1) - Me.MinimumSize = New System.Drawing.Size(724, 451) + Me.MinimumSize = New System.Drawing.Size(716, 451) Me.Name = "frmConnection" Me.Ribbon = Me.RibbonControl1 Me.ShowIcon = False @@ -544,4 +566,6 @@ Partial Class frmConnection Friend WithEvents BarButtonSave As DevExpress.XtraBars.BarButtonItem Friend WithEvents GUIDTextBox As TextBox Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents ODBCServerTextBox As ComboBox + Friend WithEvents Label1 As Label End Class diff --git a/app/DD_Clipboard_Searcher/frmConnection.resx b/app/DD_Clipboard_Searcher/frmConnection.resx index 68ca9e1..13da9f4 100644 --- a/app/DD_Clipboard_Searcher/frmConnection.resx +++ b/app/DD_Clipboard_Searcher/frmConnection.resx @@ -238,33 +238,33 @@ - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAFXRFWHRUaXRsZQBHYXVnZTtD - aXJjdWxhcjvZ1LzUAAABIUlEQVQ4T6WRsUoDQRRF5xvyA+sPWNkbCCFgIXb+gLJEUFgI2AbigrBoYxWw - TJVuu9iFVGJp5zekyh9M7lneSHYcwcXiLG/fu/fuzFvnvf8XyWYXks0uuLIsY0biWbyLnUFNj1lLf/hy - JJ7ERkxFX/QManrM0KBtBdBYiPntw+vgfPZWiJXYGtQFMzSmbUJCAKnzy1k9lLAW/hceP24uTtGapwng - Xhv7cjCvRS4yg/rl8/rs7utqWC/vx5yE64wIYDlTCTh2MJ/E25bxWKyFFwUevASw4b5M3JOAPDYHZMwt - YIUHLwH8pp6MLIuArKoqL1KnyCxgiwed42EBLoDZQiZxSKAVkID+JLxjCHUMSQ2H6Wb4NsUzCL4fg64k - m3/Huz2jOnVRTFWrbAAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAVdEVYdFRpdGxlAEdhdWdlO0NpcmN1bGFyO9nUvNQA + AAEhSURBVDhPpZGxSgNBFEXnG/ID6w9Y2RsIIWAhdv6AskRQWAjYBuKCsGhjFbBMlW672IVUYmnnN6TK + H0zuWd5IdhzBxeIsb9+79+7MW+e9/xfJZheSzS64sixjRuJZvIudQU2PWUt/+HIknsRGTEVf9AxqeszQ + oG0F0FiI+e3D6+B89laIldga1AUzNKZtQkIAqfPLWT2UsBb+Fx4/bi5O0ZqnCeBeG/tyMK9FLjKD+uXz + +uzu62pYL+/HnITrjAhgOVMJOHYwn8TblvFYrIUXBR68BLDhvkzck4A8NgdkzC1ghQcvAfymnowsi4Cs + qiovUqfILGCLB53jYQEugNlCJnFIoBWQgP4kvGMIdQxJDYfpZvg2xTMIvh+DriSbf8e7PaM6dVFMVats + AAAAAElFTkSuQmCC - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAFXRFWHRUaXRsZQBHYXVnZTtD - aXJjdWxhcjvZ1LzUAAACwUlEQVRYR8WVP0hWURiHlRocbAhyFgRXEUdpCHRpKBrCVSHCNRFcCpSQRocQ - BBGCIBzEycXRtTmkwEnENmmTbwhvz/Nx3su5t+OfltvwwLm/8573995zzn3vQFVV/5Wi2CVFsUuKYpcU - xS4pil1SFLtkYH19/a6MwwJswhGcQi/hWM05Y4wt5fiLotjiCXyEr7ALSzADozCUcKzmnDHGusa1pZw1 - RTExBh/AN1uFidIWljA2rXGtOczVzt+n8fDs/WEfxr7NAWzBVNIHYRbW4ABO4DLhWM05Y4w1z1TKYS5z - Nvyk8ZAWPYdDWPY5MQf7UN2RNzCY7chyymnuhmfjAazSwEUSaDwGG9CDklGJL3Dvx6vZt7ABY6mIxZS7 - sRP1ADwntyrefBL2IE9+BjswDxMwnHCs9ho0fwdVYg8ms53Qo74TeQFeli0SxJvn5lewDdOxrdeB2RRs - wxXkRcROeCf0ahTg5+KNjQvntof5Bay0jW4DwxW4SAXIhroeyav/iUYBfrOrGMWFizP3zVeYewmPUmyR - dgGSioid6MGcOvF+onr2C7Br2Tg8Rz+f/LZvpwUP4Aws5j7UxkFunIOpxxG7sA+DxNsn9Bx3sa1z12AM - /YbD3AvXP3Pm5QVU8A0eJ60mN83BcBrOUgEyq84aO+aCA/v3kiKGNpIoYCeSaJD4DBZxBZ+gPpaILYHp - TlbAmhprbNubDrwQM4qY2s2igPlIoEHiIZyDRchv+AlrMBLxbTCdzwo4UCPefnDkwD/ZqCKmttQooO79 - zOc8hSggp/9mJTCdyAo4USPeH9ipA3+nQ4qY2tejgOFIwHybX6BpPDs+jvg2mA5nBVyqEe9ftOegLuA6 - mG/zHe5cQAni6wJc/C+4xjNv63G52vqNFKu7DRaOgEUcJ268hDdRFLukKHZJUeySotglRbFLimJ3VAN/ - AAb7J20pr6P2AAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m + dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAVdEVYdFRpdGxlAEdhdWdlO0NpcmN1bGFyO9nUvNQA + AALBSURBVFhHxZU/SFZRGIeVGhxsCHIWBFcRR2kIdGkoGsJVIcI1EVwKlJBGhxAEEYIgHMTJxdG1OaTA + ScQ2aZNvCG/P83Hey7m345+W2/DAub/znvf33nPOfe9AVVX/laLYJUWxS4pilxTFLimKXVIUu2RgfX39 + rozDAmzCEZxCL+FYzTljjC3l+Iui2OIJfISvsAtLMAOjMJRwrOacMca6xrWlnDVFMTEGH8A3W4WJ0haW + MDatca05zNXO36fx8Oz9YR/Gvs0BbMFU0gdhFtbgAE7gMuFYzTljjDXPVMphLnM2/KTxkBY9h0NY9jkx + B/tQ3ZE3MJjtyHLKae6GZ+MBrNLARRJoPAYb0IOSUYkvcO/Hq9m3sAFjqYjFlLuxE/UAPCe3Kt58EvYg + T34GOzAPEzCccKz2GjR/B1ViDyazndCjvhN5AV6WLRLEm+fmV7AN07Gt14HZFGzDFeRFxE54J/RqFODn + 4o2NC+e2h/kFrLSNbgPDFbhIBciGuh7Jq/+JRgF+s6sYxYWLM/fNV5h7CY9SbJF2AZKKiJ3owZw68X6i + evYLsGvZODxHP5/8tm+nBQ/gDCzmPtTGQW6cg6nHEbuwD4PE2yf0HHexrXPXYAz9hsPcC9c/c+blBVTw + DR4nrSY3zcFwGs5SATKrzho75oID+/eSIoY2kihgJ5JokPgMFnEFn6A+logtgelOVsCaGmts25sOvBAz + ipjazaKA+UigQeIhnINFyG/4CWswEvFtMJ3PCjhQI95+cOTAP9moIqa21Cig7v3M5zyFKCCn/2YlMJ3I + CjhRI94f2KkDf6dDipja16OA4UjAfJtfoGk8Oz6O+DaYDmcFXKoR71+056Au4DqYb/Md7lxACeLrAlz8 + L7jGM2/rcbna+o0Uq7sNFo6ARRwnbryEN1EUu6QodklR7JKi2CVFsUuKYndUA38ABvsnbSmvo/YAAAAA + SUVORK5CYII= \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmConnection.vb b/app/DD_Clipboard_Searcher/frmConnection.vb index 7daab8d..5b60ae0 100644 --- a/app/DD_Clipboard_Searcher/frmConnection.vb +++ b/app/DD_Clipboard_Searcher/frmConnection.vb @@ -1,9 +1,12 @@ Imports System.Data.SqlClient +Imports System.Data.Odbc Imports Oracle.ManagedDataAccess.Client +Imports Microsoft.Win32 Public Class frmConnection Private Const PROVIDER_ORACLE = "ORACLE" Private Const PROVIDER_MSSQL = "MS-SQL" + Private Const PROVIDER_ODBC = "ODBC" Private Sub TBDD_CONNECTIONBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Validate() @@ -13,6 +16,17 @@ Public Class frmConnection Private Sub frmConnection_Load(sender As Object, e As EventArgs) Handles MyBase.Load Load_Connections() + + Dim oSystemConnections = LoadOdbcConnections(Registry.LocalMachine) + Dim oUserConnections = LoadOdbcConnections(Registry.CurrentUser) + + For Each oDSN In oSystemConnections + ODBCServerTextBox.Items.Add(oDSN) + Next + + For Each oDSN In oUserConnections + ODBCServerTextBox.Items.Add(oDSN) + Next End Sub Private Sub Load_Connections() @@ -25,6 +39,30 @@ Public Class frmConnection End Try End Sub + Private Function LoadOdbcConnections(Root As RegistryKey) As List(Of String) + Dim oConnections As New List(Of String) + + Try + Dim oPath As String = "SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources" + Dim oKey As RegistryKey = Root.OpenSubKey(oPath, False) + + If oKey Is Nothing Then + Return oConnections + End If + + For Each oName In oKey.GetValueNames + oConnections.Add(oName) + Next + + Return oConnections + Catch ex As Exception + Logger.Error(ex) + Return oConnections + End Try + End Function + + + Private Sub TBDD_CONNECTIONBindingSource_AddingNew(sender As Object, e As System.ComponentModel.AddingNewEventArgs) Handles TBDD_CONNECTIONBindingSource.AddingNew MyDataset.TBDD_CONNECTION.AKTIVColumn.DefaultValue = True MyDataset.TBDD_CONNECTION.ERSTELLTWERColumn.DefaultValue = Environment.UserName @@ -45,42 +83,43 @@ Public Class frmConnection oConnectionString = $"Server={Server};Database={Database};User Id={UserId};Password={Password};" End If - Cursor = Cursors.WaitCursor - Using oConnection As New SqlConnection(oConnectionString) Try oConnection.Open() MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text) Catch ex As Exception Logger.Error(ex) - MsgBox("Fehler beim Verbindungsaufbau: " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text) - Finally - Cursor = Cursors.Default + MsgBox("Fehler beim Verbindungsaufbau (MSSQL): " & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, Text) End Try End Using Case PROVIDER_ORACLE Try Dim conn As New OracleConnectionStringBuilder - oConnectionString = $"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={Server})(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME={Database})));User Id={UserId};Password={Password};" - 'conn.DataSource = DATENBANKComboBox.Text - 'conn.UserID = txtUserId.Text - 'conn.Password = txtPassword.Text - 'conn.PersistSecurityInfo = True - 'conn.ConnectionTimeout = 120 - 'oConnectionString = conn.ConnectionString - Using connection As New OracleConnection(oConnectionString) connection.Open() + MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text) End Using + Catch ex As Exception + Logger.Error(ex) + MsgBox("Fehler beim Verbindungsaufbau (ORACLE): " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text) + End Try + Case PROVIDER_ODBC + Try + oConnectionString = $"DSN={Server};UID={UserId};PWD={Password}" - MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text) + Using oConnection As New OdbcConnection(oConnectionString) + oConnection.Open() + MsgBox("Die Verbindung wurde erfolgreich aufgebaut!", MsgBoxStyle.Information, Text) + End Using Catch ex As Exception Logger.Error(ex) - MsgBox(ex.Message & vbNewLine & vbNewLine & oConnectionString, MsgBoxStyle.Critical, "Fehler bei Verbindungsaufbau Oracle:") + MsgBox("Fehler beim Verbindungsaufbau (ODBC): " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text) End Try End Select + + End Sub Private Sub DATENBANKComboBox_Click(sender As Object, e As EventArgs) Handles DATENBANKComboBox.Click @@ -97,44 +136,44 @@ Public Class frmConnection End If If chkWinAuth.Checked Then - oConnectionBuilder.DataSource = SERVERTextBox.Text - oConnectionBuilder.IntegratedSecurity = True - Else - If USERNAMETextBox.Text = String.Empty Or PASSWORDTextBox.Text = String.Empty Then - MsgBox("Bitte geben sie Benutzer und Passwort an!", MsgBoxStyle.Exclamation, Text) - Exit Sub - End If - - oConnectionBuilder.DataSource = SERVERTextBox.Text - oConnectionBuilder.IntegratedSecurity = False - oConnectionBuilder.UserID = USERNAMETextBox.Text - oConnectionBuilder.Password = PASSWORDTextBox.Text + oConnectionBuilder.DataSource = SERVERTextBox.Text + oConnectionBuilder.IntegratedSecurity = True + Else + If USERNAMETextBox.Text = String.Empty Or PASSWORDTextBox.Text = String.Empty Then + MsgBox("Bitte geben sie Benutzer und Passwort an!", MsgBoxStyle.Exclamation, Text) + Exit Sub End If - Try - Using oConnection As New SqlConnection(oConnectionBuilder.ToString) - oConnection.Open() - - Using oCmd As New SqlCommand("sp_databases", oConnection) With {.CommandType = CommandType.StoredProcedure} - Using oReader As SqlDataReader = oCmd.ExecuteReader - If oReader.HasRows Then - DATENBANKComboBox.Items.Clear() - Do While oReader.Read() - DATENBANKComboBox.Items.Add(oReader.Item("Database_Name")) - Loop - DATENBANKComboBox.DroppedDown = True - Else - MsgBox("The standard-databases could not be retrieved." & vbNewLine & "Check rights in sql-server for user", MsgBoxStyle.Exclamation) - End If - End Using + oConnectionBuilder.DataSource = SERVERTextBox.Text + oConnectionBuilder.IntegratedSecurity = False + oConnectionBuilder.UserID = USERNAMETextBox.Text + oConnectionBuilder.Password = PASSWORDTextBox.Text + End If + + Try + Using oConnection As New SqlConnection(oConnectionBuilder.ToString) + oConnection.Open() + + Using oCmd As New SqlCommand("sp_databases", oConnection) With {.CommandType = CommandType.StoredProcedure} + Using oReader As SqlDataReader = oCmd.ExecuteReader + If oReader.HasRows Then + DATENBANKComboBox.Items.Clear() + Do While oReader.Read() + DATENBANKComboBox.Items.Add(oReader.Item("Database_Name")) + Loop + DATENBANKComboBox.DroppedDown = True + Else + MsgBox("The standard-databases could not be retrieved." & vbNewLine & "Check rights in sql-server for user", MsgBoxStyle.Exclamation) + End If End Using End Using - Catch ex As Exception - Logger.Error(ex) - MsgBox("Error while loading Databases:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, Text) - Finally - Cursor = Cursors.Default - End Try + End Using + Catch ex As Exception + Logger.Error(ex) + MsgBox("Error while loading Databases:" & vbCrLf & ex.Message, MsgBoxStyle.Critical, Text) + Finally + Cursor = Cursors.Default + End Try End Sub Private Sub chkWinAuth_CheckedChanged(sender As Object, e As EventArgs) Handles chkWinAuth.CheckedChanged @@ -178,4 +217,23 @@ Public Class frmConnection Private Sub BarButtonItem1_ItemClick_1(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick ConnectionTest(SQL_PROVIDERComboBox.Text, chkWinAuth.Checked, SERVERTextBox.Text, USERNAMETextBox.Text, PASSWORDTextBox.Text, DATENBANKComboBox.Text) End Sub + + Private Sub SQL_PROVIDERComboBox_SelectedValueChanged(sender As Object, e As EventArgs) Handles SQL_PROVIDERComboBox.SelectedValueChanged + If SQL_PROVIDERComboBox.Text = PROVIDER_ODBC Then + DATENBANKComboBox.Enabled = False + ODBCServerTextBox.Enabled = True + chkWinAuth.Enabled = False + Else + DATENBANKComboBox.Enabled = True + ODBCServerTextBox.Enabled = False + chkWinAuth.Enabled = True + End If + End Sub + + Private Sub ODBCServerTextBox_SelectedValueChanged(sender As Object, e As EventArgs) Handles ODBCServerTextBox.SelectedValueChanged + If ODBCServerTextBox.Text <> String.Empty Then + SERVERTextBox.Text = ODBCServerTextBox.Text + BEZEICHNUNGTextBox.Text = ODBCServerTextBox.Text + End If + End Sub End Class \ No newline at end of file diff --git a/app/DD_Clipboard_Searcher/frmLicense.vb b/app/DD_Clipboard_Searcher/frmLicense.vb index 053be74..0f129f6 100644 --- a/app/DD_Clipboard_Searcher/frmLicense.vb +++ b/app/DD_Clipboard_Searcher/frmLicense.vb @@ -46,7 +46,7 @@ Public Class frmLicense Dim result As String = Me._lizenzManager.EncodeLicenseKey(txtNewlicences.Text & "#" & dtpGueltig_GI.Text, "#DigitalData35452!#") Dim sql As String = String.Format("UPDATE TBDD_CLIENT SET LICENSE_DDCBSEARCHER = '" & result & "' WHERE GUID = {0}", CLIENT_ID) - If clsDatabase.Execute_non_Query(sql) = True Then + If Database.ExecuteNonQuery(sql) = True Then Refresh_Licence(True) End If diff --git a/app/DD_Clipboard_Searcher/frmResultDoc.vb b/app/DD_Clipboard_Searcher/frmResultDoc.vb index 4c7d6db..27fcaa8 100644 --- a/app/DD_Clipboard_Searcher/frmResultDoc.vb +++ b/app/DD_Clipboard_Searcher/frmResultDoc.vb @@ -93,7 +93,7 @@ Public Class frmResultDoc Private Function DoLoadSearches() As List(Of DocSearch) Dim oMatchingIds = String.Join(",", Current_MatchingProfiles.Select(Function(p) p.Guid).ToArray()) Dim oSQL As String = $"SELECT * FROM TBCW_PROF_DOC_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX" - Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL) + Dim oSearchesDataTable = Database.GetDatatable(oSQL) Dim oDocSearches As New List(Of DocSearch) Dim oCounter As Integer = 0 @@ -106,7 +106,7 @@ Public Class frmResultDoc oSQL = oRow.Item("SQL_COMMAND") oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId) - Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL) + Dim oDatatable As DataTable = Database.GetDatatable(oSQL) oDocSearches.Add(New DocSearch() With { .DataTable = oDatatable, .ProfileId = oProfileId, @@ -515,7 +515,7 @@ Public Class frmResultDoc Dim oDatatable As DataTable oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID) - oDatatable = clsDatabase.Return_Datatable(oCommand) + oDatatable = Database.GetDatatable(oCommand) RefreshTabDoc(oProfID, oDatatable, oTabIndex, oTabTitle) Catch ex As Exception @@ -539,7 +539,7 @@ Public Class frmResultDoc Dim oDatatable As DataTable oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileID) - oDatatable = clsDatabase.Return_Datatable(oCommand) + oDatatable = Database.GetDatatable(oCommand) RefreshTabDoc(oProfileID, oDatatable, oTabIndex, oTabCaption) Catch ex As Exception diff --git a/app/DD_Clipboard_Searcher/frmResultSQL.vb b/app/DD_Clipboard_Searcher/frmResultSQL.vb index 5a7c6dd..5a8ee7a 100644 --- a/app/DD_Clipboard_Searcher/frmResultSQL.vb +++ b/app/DD_Clipboard_Searcher/frmResultSQL.vb @@ -152,7 +152,7 @@ Public Class frmResultSQL Private Function DoLoadSearches() As List(Of SQLSearch) Dim oMatchingIds = String.Join(",", Current_MatchingProfiles.Select(Function(p) p.Guid).ToArray()) Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({oMatchingIds}) ORDER BY TAB_INDEX" - Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL) + Dim oSearchesDataTable = Database.GetDatatable(oSQL) Dim oSearches As New List(Of SQLSearch) Dim oCounter As Integer = 0 @@ -165,7 +165,7 @@ Public Class frmResultSQL oSQL = oRow.Item("SQL_COMMAND") oSQL = clsPatterns.ReplaceAllValues(oSQL, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfileId) - Dim oDatatable As DataTable = clsDatabase.Return_Datatable(oSQL) + Dim oDatatable As DataTable = Database.GetDatatable(oSQL) oSearches.Add(New SQLSearch() With { .DataTable = oDatatable, .ProfileId = oProfileId, @@ -211,7 +211,7 @@ Public Class frmResultSQL Dim oDatatable As DataTable oCommand = clsPatterns.ReplaceAllValues(oCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfID) - oDatatable = clsDatabase.Return_Datatable(oCommand) + oDatatable = Database.GetDatatable(oCommand) RefreshTabData(oProfID, oDatatable, oTabIndex, oTabTitle) diff --git a/app/DD_Clipboard_Searcher/frmSplash.vb b/app/DD_Clipboard_Searcher/frmSplash.vb index 5064ef9..0554870 100644 --- a/app/DD_Clipboard_Searcher/frmSplash.vb +++ b/app/DD_Clipboard_Searcher/frmSplash.vb @@ -43,7 +43,7 @@ Public NotInheritable Class frmSplash Worker.ReportProgress(CalcProgress(2), "Initializing Database") Init.InitBasics() - If Init.InitDatabase() = True Then + If Init.InitDatabase_New() = True Then Thread.Sleep(500) diff --git a/app/DD_Clipboard_Searcher/frmStart.vb b/app/DD_Clipboard_Searcher/frmStart.vb index f075066..429f440 100644 --- a/app/DD_Clipboard_Searcher/frmStart.vb +++ b/app/DD_Clipboard_Searcher/frmStart.vb @@ -30,7 +30,7 @@ Public Class frmStart frmConfig_Basic.ShowDialog() End If - If clsDatabase.DB_DEFAULT_INITIALIZED = True Then + If Database.DBInitialized = True Then If ERROR_INIT <> "" Then If ERROR_INIT = "NO CLIENT" Then MsgBox("You are not related to a client!" & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation) @@ -66,7 +66,7 @@ Public Class frmStart End If Try Dim sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Clipboard-Watcher')" - clsDatabase.Execute_non_Query(sql, True) + Database.ExecuteNonQuery(sql, True) ClassWindowLocation.SaveFormLocationSize(Me, "") My.Settings.Save() Catch ex As Exception @@ -150,8 +150,8 @@ Public Class frmStart Dim oResultDocs As Integer = 0 Dim oResultData As Integer = 0 - Dim oDataSearches As DataTable = clsDatabase.Return_Datatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = {oProfile.Guid}") - Dim oDocSearches As DataTable = clsDatabase.Return_Datatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = {oProfile.Guid}") + Dim oDataSearches As DataTable = Database.GetDatatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DATA_SEARCH WHERE PROFILE_ID = {oProfile.Guid}") + Dim oDocSearches As DataTable = Database.GetDatatable($"SELECT COUNT_COMMAND FROM TBCW_PROF_DOC_SEARCH WHERE PROFILE_ID = {oProfile.Guid}") For Each oRow As DataRow In oDataSearches.Rows Try @@ -162,7 +162,7 @@ Public Class frmStart End If oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) - oResultData += ClassDatabase.Execute_Scalar(oDataSQL, MyConnectionString) + oResultData += Database.NewExecuteScalar(oDataSQL) Catch ex As Exception Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL) oInvalidDataSQL = True @@ -178,7 +178,7 @@ Public Class frmStart End If oDataSQL = clsPatterns.ReplaceAllValues(oCountCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, oProfile.Guid) - oResultDocs += ClassDatabase.Execute_Scalar(oDataSQL, MyConnectionString) + oResultDocs += Database.NewExecuteScalar(oDataSQL) Catch ex As Exception oInvalidDocumentSQL = True Logger.Warn("Invalid SQL Query for Counting Data in Profile {0}: {1}", oProfile.Guid, oDataSQL) diff --git a/app/DD_Clipboard_Searcher/modCurrent.vb b/app/DD_Clipboard_Searcher/modCurrent.vb index d724373..8d77f7b 100644 --- a/app/DD_Clipboard_Searcher/modCurrent.vb +++ b/app/DD_Clipboard_Searcher/modCurrent.vb @@ -1,9 +1,11 @@ Imports DigitalData.Modules.Config +Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging Module modCurrent Public LogConfig As LogConfig Public Logger As Logger + Public Database As MSSQLServer Public ConfigManager As ConfigManager(Of ClassConfig)