Fix usage of Return_Datatable_ConId instead of Return_Datatable_ConStr for depending controls

This commit is contained in:
Jonathan Jenne 2021-09-23 15:37:34 +02:00
parent 02c4098bb9
commit 0258a87098
3 changed files with 6 additions and 53 deletions

View File

@ -132,7 +132,9 @@ Public Class ClassDatabase
If pInfo <> "" Then If pInfo <> "" Then
pInfo = "[" & pInfo & "]" pInfo = "[" & pInfo & "]"
End If 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 oSQLconnect As New SqlClient.SqlConnection
Dim oSQLcommand As SqlClient.SqlCommand Dim oSQLcommand As SqlClient.SqlCommand

View File

@ -888,7 +888,7 @@ Public Class frmMassValidator
End Sub End Sub
Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String)
Try 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 If Not IsNothing(resultDT) Then
'Ist das Control ein Control was mehrfachwerte enthalten kann '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 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 sql_Statement = ROW.Item(2)
Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString() Dim cellvalue = dgv.Rows(dgv.Rows.Count - 2).Cells(0).Value.ToString()
sql_Statement = sql_Statement.ToString.Replace(dgv.Name, cellvalue) 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 If resultDT.Rows.Count >= 1 Then
'Nur dediziert einen Wert zurückerhalten 'Nur dediziert einen Wert zurückerhalten
For Each row1 As DataRow In resultDT.Rows For Each row1 As DataRow In resultDT.Rows

View File

@ -1144,33 +1144,7 @@ Public Class frmValidator
sql_Statement = clsPatterns.ReplaceAllValues(sql_Statement, pnldesigner, True) 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 _dependingControl_in_action = True
Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1)) Depending_Control_Set_Result(displayboxname, sql_Statement, ROW.Item(1))
_dependingControl_in_action = False _dependingControl_in_action = False
@ -2213,7 +2187,7 @@ Public Class frmValidator
End Sub End Sub
Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String) Private Sub Depending_Control_Set_Result(displayboxname As String, sqlCommand As String, sqlConnection As String)
Try 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 If Not IsNothing(resultDT) Then
'Ist das Control ein Control was mehrfachwerte enthalten kann '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 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.DisplayMember = resultDT.Columns(0).ColumnName
cmbpanel.ValueMember = 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 ElseIf displayboxname.StartsWith(ClassControlCreator.PREFIX_LOOKUP) Or displayboxname.StartsWith(ClassControlCreator.PREFIX_TABLE) Then
LOGGER.Warn("Depending_Control_Set_Result PREFIX_LOOKUP NOT IMPLEMENTED") LOGGER.Warn("Depending_Control_Set_Result PREFIX_LOOKUP NOT IMPLEMENTED")
'not implemented 'not implemented