From 0258a870989b76448b13fb415f7a972764ae4242 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 23 Sep 2021 15:37:34 +0200 Subject: [PATCH] Fix usage of Return_Datatable_ConId instead of Return_Datatable_ConStr for depending controls --- app/DD_PM_WINDREAM/ClassDatabase.vb | 4 +- app/DD_PM_WINDREAM/frmMassValidator.vb | 4 +- app/DD_PM_WINDREAM/frmValidator.vb | 53 +------------------------- 3 files changed, 7 insertions(+), 54 deletions(-) diff --git a/app/DD_PM_WINDREAM/ClassDatabase.vb b/app/DD_PM_WINDREAM/ClassDatabase.vb index 87bede6..027f00b 100644 --- a/app/DD_PM_WINDREAM/ClassDatabase.vb +++ b/app/DD_PM_WINDREAM/ClassDatabase.vb @@ -132,7 +132,9 @@ Public Class ClassDatabase If pInfo <> "" Then pInfo = "[" & pInfo & "]" End If - LOGGER.Debug("Return_Datatable_ConStr: " & pSQLCommand) + + LOGGER.Debug("ConnectionString: [{0}]", ConNStr) + LOGGER.Debug("Return_Datatable_ConStr: {0}", pSQLCommand) Dim oSQLconnect As New SqlClient.SqlConnection Dim oSQLcommand As SqlClient.SqlCommand diff --git a/app/DD_PM_WINDREAM/frmMassValidator.vb b/app/DD_PM_WINDREAM/frmMassValidator.vb index 96ef6f7..59b2cbe 100644 --- a/app/DD_PM_WINDREAM/frmMassValidator.vb +++ b/app/DD_PM_WINDREAM/frmMassValidator.vb @@ -888,7 +888,7 @@ Public Class frmMassValidator End Sub Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Try - Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConStr(sqlCommand, sqlConnection) + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection) If Not IsNothing(resultDT) Then 'Ist das Control ein Control was mehrfachwerte enthalten kann If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then @@ -985,7 +985,7 @@ Public Class frmMassValidator Dim sql_Statement = ROW.Item(2) Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString() sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue) - Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConStr(sql_Statement, ROW.Item(1)) + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sql_Statement, ROW.Item(1)) If resultDT.Rows.Count >= 1 Then 'Nur dediziert einen Wert zurückerhalten For Each row1 As DataRow In resultDT.Rows diff --git a/app/DD_PM_WINDREAM/frmValidator.vb b/app/DD_PM_WINDREAM/frmValidator.vb index 30732c9..158fea9 100644 --- a/app/DD_PM_WINDREAM/frmValidator.vb +++ b/app/DD_PM_WINDREAM/frmValidator.vb @@ -1144,33 +1144,7 @@ Public Class frmValidator sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) - '' Regulären Ausdruck zum Auslesen der Indexe definieren - 'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" - '' einen Regulären Ausdruck laden - 'Dim regulärerAusdruck As Regex = New Regex(preg) - '' die Vorkommen im SQL-String auslesen - 'Dim elemente As Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(sql_Statement) - ''#### - '' alle Vorkommen innerhalbd er Namenkonvention durchlaufen - 'For Each element As Text.RegularExpressions.Match In elemente - ' Try - ' If LogErrorsOnly = False Then LOGGER.Info(" >> element in RegeX: " & element.Value) - ' Dim MyPattern = element.Value.Substring(2, element.Value.Length - 3) - ' Dim input_value - - ' If MyPattern.Contains(ClassControlCreator.PREFIX_TEXTBOX) Then - ' Dim txt As TextBox = CType(pnldesigner.Controls(MyPattern), TextBox) - ' input_value = txt.Text - ' ElseIf MyPattern.Contains(ClassControlCreator.PREFIX_COMBOBOX) Then - ' Dim cmb As ComboBox = CType(pnldesigner.Controls(MyPattern), ComboBox) - ' input_value = cmb.Text - ' End If - ' sql_Statement = sql_Statement.ToString.Replace(element.Value, input_value) - ' Catch ex As Exception - ' LOGGER.Info("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message) - ' End Try - - 'Next + _dependingControl_in_action = True Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) _dependingControl_in_action = False @@ -2213,7 +2187,7 @@ Public Class frmValidator End Sub Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Try - Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConStr(sqlCommand, sqlConnection) + Dim resultDT As DataTable = ClassDatabase.Return_Datatable_ConId(sqlCommand, sqlConnection) If Not IsNothing(resultDT) Then 'Ist das Control ein Control was mehrfachwerte enthalten kann If displayboxname.StartsWith(ClassControlCreator.PREFIX_COMBOBOX) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then @@ -2224,29 +2198,6 @@ Public Class frmValidator cmbpanel.DisplayMember = resultDT.Columns(0).ColumnName cmbpanel.ValueMember = resultDT.Columns(0).ColumnName - - - 'Dim oMaxWidth As Integer = cmbpanel.Width - - 'Using oGraphics As Graphics = cmbpanel.CreateGraphics() - ' Dim oStringLength = oGraphics.MeasureString(Text, cmbpanel.Font).Width - ' If oStringLength + 30 > oMaxWidth Then - ' oMaxWidth = oStringLength + 30 - ' End If - 'End Using - - 'Using g As Graphics = Me.CreateGraphics - ' For Each oItem As Object In cmbpanel.Items 'Für alle Einträge... - ' Dim g1 As Graphics = cmbpanel.CreateGraphics - ' If g1.MeasureString(Text, cmbpanel.Font).Width + 30 > oMaxWidth Then - ' oMaxWidth = g1.MeasureString(Text, cmbpanel.Font).Width + 30 - ' End If - ' g1.Dispose() - ' Next oItem - 'End Using - - 'cmbpanel.DropDownWidth = oMaxWidth - ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then LOGGER.Warn("Depending_Control_Set_Result PREFIX_LOOKUP NOT IMPLEMENTED") 'not implemented