This commit is contained in:
Digital Data - Marlon Schreiber
2018-06-19 17:03:04 +02:00
parent 4c7092ec8d
commit c33c9574ec
2 changed files with 37 additions and 23 deletions

View File

@@ -62,7 +62,7 @@ Public Class ClassDatabase
SQLconnect.Open() SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = Select_anweisung SQLcommand.CommandText = Select_anweisung
If LogErrorsOnly = False Then ClassLogger.Add(">>> Execute ReturnDatatable: " & Select_anweisung, False)
Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand) Dim adapter1 As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(SQLcommand)
Dim dt As DataTable = New DataTable() Dim dt As DataTable = New DataTable()
adapter1.Fill(dt) adapter1.Fill(dt)
@@ -112,6 +112,7 @@ Public Class ClassDatabase
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo 'Update Last Created Record in Foo
SQLcommand.CommandText = ExecuteCMD SQLcommand.CommandText = ExecuteCMD
If LogErrorsOnly = False Then ClassLogger.Add(">>> Execute NonQuery: " & ExecuteCMD, False)
SQLcommand.ExecuteNonQuery() SQLcommand.ExecuteNonQuery()
SQLcommand.Dispose() SQLcommand.Dispose()
SQLconnect.Close() SQLconnect.Close()
@@ -137,6 +138,7 @@ Public Class ClassDatabase
SQLcommand = SQLconnect.CreateCommand SQLcommand = SQLconnect.CreateCommand
'Update Last Created Record in Foo 'Update Last Created Record in Foo
SQLcommand.CommandText = cmdscalar SQLcommand.CommandText = cmdscalar
If LogErrorsOnly = False Then ClassLogger.Add(">>> Execute Scalar: " & cmdscalar, False)
result = SQLcommand.ExecuteScalar() result = SQLcommand.ExecuteScalar()
SQLcommand.Dispose() SQLcommand.Dispose()
SQLconnect.Close() SQLconnect.Close()

View File

@@ -2053,31 +2053,43 @@ Public Class frmValidator
If value.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ### If value.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ###
If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit dynamischem SQL!", False) If LogErrorsOnly = False Then ClassLogger.Add(" >> Indexierung mit dynamischem SQL!", False)
Dim SQL_COMMAND = dr.Item("SQL_COMMAND") Dim SQL_COMMAND = dr.Item("SQL_COMMAND")
' Regulären Ausdruck zum Auslesen der Indexe definieren
Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND before ReplaceAllValues: " & SQL_COMMAND, False)
' einen Regulären Ausdruck laden SQL_COMMAND = clsPatterns.ReplaceAllValues(SQL_COMMAND, pnldesigner, aktivesDokument, CURRENT_USER_PRENAME, CURRENT_USER_SURNAME, CURRENT_USER_SHORTNAME, CURRENT_USER_EMAIL)
Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg) If LogErrorsOnly = False Then ClassLogger.Add(" >> SQL_COMMAND after ReplaceAllValues: " & SQL_COMMAND, False)
' die Vorkommen im SQL-String auslesen
Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(SQL_COMMAND) '' Regulären Ausdruck zum Auslesen der Indexe definieren
'#### 'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen '' einen Regulären Ausdruck laden
For Each element As System.Text.RegularExpressions.Match In elemente 'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
Try '' die Vorkommen im SQL-String auslesen
If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX: " & element.Value, False) 'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(SQL_COMMAND)
Dim WDINDEXNAME = element.Value.Substring(2, element.Value.Length - 3) ''####
Dim wertWD = aktivesDokument.GetVariableValue(WDINDEXNAME) '' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
If Not IsNothing(wertWD) Then 'For Each element As System.Text.RegularExpressions.Match In elemente
SQL_COMMAND = SQL_COMMAND.ToString.Replace(element.Value, wertWD) ' Try
Else ' If LogErrorsOnly = False Then ClassLogger.Add(" >> element in RegeX: " & element.Value, False)
ClassLogger.Add(">> Achtung Indexwert ist nothing!", False) ' Dim WDINDEXNAME = element.Value.Substring(2, element.Value.Length - 3)
End If ' Dim wertWD = aktivesDokument.GetVariableValue(WDINDEXNAME)
Catch ex As Exception ' If Not IsNothing(wertWD) Then
ClassLogger.Add("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message) ' SQL_COMMAND = SQL_COMMAND.ToString.Replace(element.Value, wertWD)
End Try ' Else
Next ' ClassLogger.Add(">> Achtung Indexwert ist nothing!", False)
' End If
' Catch ex As Exception
' ClassLogger.Add("Unexpected Error in Checking control values for Variable SQL Result - ERROR: " & ex.Message)
' End Try
'Next
Dim dynamic_value = ClassDatabase.Execute_Scalar(SQL_COMMAND, MyConnectionString, True) Dim dynamic_value = ClassDatabase.Execute_Scalar(SQL_COMMAND, MyConnectionString, True)
If Not IsNothing(dynamic_value) Then If Not IsNothing(dynamic_value) Then
If LogErrorsOnly = False Then ClassLogger.Add("DYNAMIC VALUE IS: " & dynamic_value.ToString, False)
value = dynamic_value value = dynamic_value
Else
ClassLogger.Add("ATTENTION: DYNAMIC VALUE IS NOTHING!")
End If End If
Else Else
If value.StartsWith("v") Then If value.StartsWith("v") Then