From b5ae67209103bab2f82e669639fb94389fd81f76 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Mon, 10 Aug 2026 14:16:33 +0200 Subject: [PATCH] Verbesserung von SQL-Handling und Fehlerbehandlung MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In `frmFormDesigner` wurde das SQL-Handling optimiert, indem SQL-Befehle in Variablen ausgelagert wurden. Fehlerprotokollierung und Benutzerbenachrichtigung (`MsgBox`) wurden hinzugefügt, um Fehler besser zu behandeln. In `frmMassValidator` wurde ein veralteter, auskommentierter SQL-Befehl entfernt. In `frmValidator` wurde das Zurücksetzen von `ComboBox`-Steuerelementen verbessert, und die Berechnung der verbleibenden Vorgänge (`Amount_Docs2Validate`) wurde korrigiert. --- app/TaskFlow/frmFormDesigner.vb | 33 ++++++++++++++++++++------------ app/TaskFlow/frmMassValidator.vb | 1 - app/TaskFlow/frmValidator.vb | 3 ++- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/app/TaskFlow/frmFormDesigner.vb b/app/TaskFlow/frmFormDesigner.vb index 9fa1139..27038a2 100644 --- a/app/TaskFlow/frmFormDesigner.vb +++ b/app/TaskFlow/frmFormDesigner.vb @@ -978,7 +978,8 @@ Public Class frmFormDesigner End If Try - If DatabaseFallback.ExecuteNonQueryECM($"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}") = True Then + Dim oUPD = $"UPDATE TBPM_PROFILE_CONTROLS SET {columnName} = {escapedValue}, CHANGED_WHO = '{USER_USERNAME}' WHERE GUID = {guid}" + If DatabaseFallback.ExecuteNonQueryECM(oUPD) = True Then tslblAenderungen.Visibility = DevExpress.XtraBars.BarItemVisibility.Always tslblAenderungen.Caption = "Änderungen gespeichert - " & Now If columnName.ToUpper = "CTRL_TEXT" Then @@ -987,6 +988,8 @@ Public Class frmFormDesigner End If CHANGES_FORM_DESIGN = True Return True + Else + _Logger.Info($"UpdateSingleValue - Fehler beim Speichern von Control (Id: {guid}): ExecuteNonQueryECM [{oUPD}] returned False") End If Return False @@ -1156,16 +1159,22 @@ Public Class frmFormDesigner Dim label = ControlCreator.CreateNewLabel(cursorPosition) SetMovementHandlers(label) - TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign, "") - CHANGES_FORM_DESIGN = True - CurrentControl = label - CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { - .Guid = GetLastID(), - .ReadOnly = False - } - - pnldesigner.Controls.Add(label) - + Dim oInsert = $"INSERT INTO TBPM_PROFILE_CONTROLS + (PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT, DISPLAY_IN_SEPERATE_FORM) + VALUES ({ProfileId},'{label.Name}','LBL','{label.Text}','{label.Location.X}','{label.Location.Y}','{USER_USERNAME}',{label.Size.Height},{label.Size.Width},'{label.TextAlign}','')" + If DatabaseFallback.ExecuteNonQueryECM(oInsert) Then + 'TBPM_PROFILE_CONTROLSTableAdapter.cmdInsertAnlage(ProfileId, label.Name, "LBL", label.Text, label.Location.X, label.Location.Y, USER_USERNAME, label.Size.Height, label.Size.Width, label.TextAlign, "") + CHANGES_FORM_DESIGN = True + CurrentControl = label + CurrentControl.Tag = New ClassControlCreator.ControlMetadata() With { + .Guid = GetLastID(), + .ReadOnly = False + } + pnldesigner.Controls.Add(label) + Else + _Logger.Info($"Error while inserting new Label Control into TBPM_PROFILE_CONTROLS: {oInsert}") + MsgBox("Fehler beim Erstellen des Labels. Bitte überprüfen Sie die Log-Datei für weitere Informationen.", MsgBoxStyle.Critical, "Fehler beim Erstellen des Labels") + End If Case ClassControlCreator.PREFIX_TEXTBOX Dim txt = ControlCreator.CreateNewTextBox(cursorPosition) SetMovementHandlers(txt) @@ -1297,9 +1306,9 @@ Public Class frmFormDesigner RibPGCtrlWidth.Enabled = True End If Catch ex As Exception - _Logger.Error(ex) _Logger.Info($"Error while Adding new control {NewControlSelected}:") _Logger.Info(ex) + MsgBox($"Error while Adding new control {NewControlSelected}: {ex.Message}" & vbCrLf & "Check the log for further info", MsgBoxStyle.Critical) End Try Me.Cursor = Cursors.Default NewControlSelected = "" diff --git a/app/TaskFlow/frmMassValidator.vb b/app/TaskFlow/frmMassValidator.vb index 69eedca..76cc663 100644 --- a/app/TaskFlow/frmMassValidator.vb +++ b/app/TaskFlow/frmMassValidator.vb @@ -1164,7 +1164,6 @@ Public Class frmMassValidator If CreateWMObject() = True Then If ClassFinalizeDoc.Write_Final_Metadata(CURRENT_WMFILE) = True Then Dim sql = $"EXEC PRTF_PROFILE_FILES_WORK {CURRENT_DOC_ID},{CURRENT_ProfilGUID},{USER_ID},'Worked'" - 'String.Format("UPDATE TBPM_PROFILE_FILES SET IN_WORK = 0, WORK_USER = '{0}', EDIT = 1 WHERE GUID = {1}", USER_USERNAME, CURRENT_DOC_GUID) If DatabaseFallback.ExecuteNonQueryECM(sql) = True Then workedFiles += 1 diff --git a/app/TaskFlow/frmValidator.vb b/app/TaskFlow/frmValidator.vb index 0cdff74..0433623 100644 --- a/app/TaskFlow/frmValidator.vb +++ b/app/TaskFlow/frmValidator.vb @@ -1791,6 +1791,7 @@ Public Class frmValidator Case Type = GetType(Windows.Forms.ComboBox) Dim cmb As Windows.Forms.ComboBox = inctrl cmb.SelectedIndex = -1 + cmb.Text = String.Empty Case Type = GetType(DataGridView) Dim dgv As DataGridView = inctrl If dgv.Rows.Count > 0 Then @@ -4240,7 +4241,7 @@ Public Class frmValidator End If If Amount_Docs2Validate > 1 Then - Dim omsg = String.Format(Translation_Strings.Verbleibende_Vorgänge___0_, Amount_Docs2Validate) + Dim omsg = String.Format(Translation_Strings.Verbleibende_Vorgänge___0_, Amount_Docs2Validate - 1) bsiInformation.Caption = omsg bsiInformation.Caption = omsg If RbnPgGrpActions.Visible = False Then