From 4e85a69f41ead6b10a9c0f0df3a1957a3156c62d Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 6 Aug 2025 09:05:02 +0200 Subject: [PATCH] fix --- VERAG_PROG_ALLGEMEIN/Classes/SQL.vb | 73 +++++++++++++++++++---------- 1 file changed, 49 insertions(+), 24 deletions(-) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb index e3ad528c..6b40f229 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/SQL.vb @@ -916,28 +916,58 @@ Public Class SQL Case "WEB" : conn = GetNewOpenConnectionWEB() Case "PARKZEIT" : conn = GetNewOpenConnectionPARKZEIT() End Select + + 'NOT Working-------------------------------------------- + + 'Try + + + ' ' MsgBox(sql) + ' Using cmd As New SqlCommand(sql, conn) + ' If list IsNot Nothing Then + + + + + + ' For Each i In list + ' If String.IsNullOrWhiteSpace(i.Scalarvariable) Then + ' Throw New Exception("❌ Leerer Parametername in SQLVariable!") + ' End If + ' If i.Scalarvariable.ToLower = "errno" Then + ' Throw New Exception("❌ Ungültiger Parametername 'errno' – bitte umbenennen.") + ' End If + ' If Not System.Text.RegularExpressions.Regex.IsMatch(i.Scalarvariable, "^[a-zA-Z0-9_]+$") Then + ' Throw New Exception("❌ Ungültiger SQL-Parametername (Regex): '" & i.Scalarvariable & "'") + ' End If + + ' 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + ' cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) + ' Next + ' End If + ' cmd.ExecuteNonQuery() + ' End Using + ' conn.Close() + ' Return True + 'Catch ex As Exception + ' ' MsgBox("ERR!") + ' If ex.Message.Contains("Falsche Syntax in der Nähe von '@errno'") Then + ' ' Spezielle Behandlung für den Fehler mit dem Parameter 'errno' + ' 'VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("❌ Ungültiger SQL-Parametername 'errno' – bitte umbenennen.", ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + + ' ElseIf ex.Message.Contains("Leerer Parametername") Then + ' If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) + ' End If + 'End Try + 'Return False + + 'NOT Working-------------------------------------------- + Try - - ' MsgBox(sql) Using cmd As New SqlCommand(sql, conn) If list IsNot Nothing Then - - - - - For Each i In list - If String.IsNullOrWhiteSpace(i.Scalarvariable) Then - Throw New Exception("❌ Leerer Parametername in SQLVariable!") - End If - If i.Scalarvariable.ToLower = "errno" Then - Throw New Exception("❌ Ungültiger Parametername 'errno' – bitte umbenennen.") - End If - If Not System.Text.RegularExpressions.Regex.IsMatch(i.Scalarvariable, "^[a-zA-Z0-9_]+$") Then - Throw New Exception("❌ Ungültiger SQL-Parametername (Regex): '" & i.Scalarvariable & "'") - End If - 'MsgBox(i.Text.trim & " " & IIf(i.Value Is Nothing, DBNull.Value, i.Value)) cmd.Parameters.AddWithValue("@" & i.Scalarvariable.trim, IIf(i.Value Is Nothing, DBNull.Value, i.Value)) Next @@ -948,15 +978,10 @@ Public Class SQL Return True Catch ex As Exception ' MsgBox("ERR!") - If ex.Message.Contains("Falsche Syntax in der Nähe von '@errno'") Then - ' Spezielle Behandlung für den Fehler mit dem Parameter 'errno' - 'VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("❌ Ungültiger SQL-Parametername 'errno' – bitte umbenennen.", ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) - - ElseIf ex.Message.Contains("Leerer Parametername") Then - If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) - End If + If showErr Then VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , , , , sql) End Try Return False + End Function Public Function doSQLVarListID(ByVal id As Integer, ByVal sql As String, Optional conn_art As String = "SDL", Optional showErr As Boolean = True, Optional list As List(Of SQLVariable) = Nothing, Optional returnSelectID As Boolean = False, Optional errHinweis As String = "", Optional showErrTimeout As Boolean = True, Optional timeout As Integer = 0) As Integer