Hauptfenster

This commit is contained in:
2026-02-04 08:24:12 +01:00
parent 2412b780e7
commit 2b83939944
12 changed files with 986 additions and 927 deletions

View File

@@ -5328,4 +5328,79 @@ ELSE_ATILLA:
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub FIXSQLTIGGERSQLGUIDE01ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FIXSQLTIGGERSQLGUIDE01ToolStripMenuItem.Click
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.SQLGUIDE01_USED Then
MsgBox("Dieses Skript darf nur unter SQLGUIDE01 ausgeführt werden.", MsgBoxStyle.Exclamation)
Exit Sub
End If
Using ofd As New OpenFileDialog()
ofd.Title = "SQL-Trigger-Skript auswählen"
ofd.Filter = "SQL Dateien (*.sql)|*.sql|Alle Dateien (*.*)|*.*"
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
ofd.Multiselect = False
If ofd.ShowDialog() <> DialogResult.OK Then
Exit Sub
End If
Dim filePath As String = ofd.FileName
Try
RunTriggerFixScript(filePath)
MessageBox.Show(
"SQL-Trigger-Skript wurde erfolgreich ausgeführt.",
"Fertig",
MessageBoxButtons.OK,
MessageBoxIcon.Information
)
Catch ex As Exception
MessageBox.Show(
"Fehler beim Ausführen des Skripts:" & vbCrLf & ex.Message,
"Fehler",
MessageBoxButtons.OK,
MessageBoxIcon.Error
)
End Try
End Using
End Sub
Public Sub RunTriggerFixScript(ByVal filePath As String)
If Not File.Exists(filePath) Then
Throw New FileNotFoundException("SQL-Datei nicht gefunden", filePath)
End If
Dim lines() As String = File.ReadAllLines(filePath, Encoding.UTF8)
Dim lineNo As Integer = 0
For Each rawLine As String In lines
lineNo += 1
Dim sql As String = rawLine.Trim()
' Leere Zeilen oder Kommentare überspringen
If sql = "" Then Continue For
Try
MsgBox(sql)
Dim ok As Boolean = (New VERAG_PROG_ALLGEMEIN.SQL).doSQL(sql, "SQLGUIDE_ADMIN")
If Not ok Then
Throw New ApplicationException($"doSQL() lieferte False (Zeile {lineNo})" & vbNewLine & sql)
End If
Catch ex As Exception
' Exaktes Logging inkl. Zeilennummer
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, sql, $"RunTriggerFixScript_LineByLine Zeile {lineNo}")
Throw
End Try
Next
End Sub
End Class