SQLEditor: First Version
This commit is contained in:
@@ -1,20 +1,101 @@
|
||||
Public Class frmSQLEditor
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Patterns
|
||||
Imports DigitalData.Modules.Language.Utils
|
||||
Imports DigitalData.GUIs.Common
|
||||
Imports DevExpress.XtraGrid.Views.Grid
|
||||
|
||||
Public Class frmSQLEditor
|
||||
Public SQLString As String
|
||||
|
||||
Public Sub New(SQLString As String)
|
||||
MyBase.New()
|
||||
Private LogConfig As LogConfig
|
||||
Private SQLServer As MSSQLServer
|
||||
Private CurrentPosition As String
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
Private Placeholders As New List(Of SqlPlaceholder)
|
||||
Private Connections As New List(Of SqlConnection)
|
||||
|
||||
Private Patterns As ClassPatterns
|
||||
|
||||
Friend Class SqlPlaceholder
|
||||
Public Property Placeholder As String
|
||||
Public Property Replacement As String
|
||||
End Class
|
||||
|
||||
Friend Class SqlConnection
|
||||
Public Property Guid As Integer
|
||||
Public Property Name As String
|
||||
Public Property Description As String
|
||||
Public Property Provider As String
|
||||
Public Property Server As String
|
||||
Public Property Database As String
|
||||
Public Property Username As String
|
||||
Public Property Password As String
|
||||
|
||||
Public Overrides Function ToString() As String
|
||||
Return Name
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Sub New(LogConfig As LogConfig, SQLServer As MSSQLServer)
|
||||
MyBase.New(LogConfig)
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
Me.SQLString = SQLString
|
||||
Me.LogConfig = LogConfig
|
||||
Me.SQLServer = SQLServer
|
||||
Patterns = New ClassPatterns(LogConfig)
|
||||
End Sub
|
||||
|
||||
Private Sub RegexEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
txtSQL.Text = SQLString
|
||||
Private Sub frmSQLEditor_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Try
|
||||
txtSQL.Text = SQLString
|
||||
|
||||
BindingSourcePlaceholder.DataSource = Placeholders
|
||||
Placeholders.Clear()
|
||||
|
||||
Connections = Load_SQLConnections()
|
||||
|
||||
Dim oViews As New List(Of GridView) From {GridViewResult, GridViewPlaceholder}
|
||||
Dim oGridBuilder As New GridBuilder(oViews)
|
||||
oGridBuilder.
|
||||
WithDefaults().
|
||||
WithReadOnlyOptions(GridViewResult)
|
||||
|
||||
cmbConnections.Properties.Items.Clear()
|
||||
For Each oConnection In Connections
|
||||
cmbConnections.Properties.Items.Add(oConnection)
|
||||
Next
|
||||
Catch ex As Exception
|
||||
ShowErrorMessage(ex)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Function Load_SQLConnections()
|
||||
Try
|
||||
Dim oSQL As String = "SELECT * FROM TBDD_CONNECTION"
|
||||
Dim oTable As DataTable = SQLServer.GetDatatable(oSQL)
|
||||
Dim oConnections As New List(Of SqlConnection)
|
||||
|
||||
For Each oRow As DataRow In oTable.Rows
|
||||
oConnections.Add(New SqlConnection With {
|
||||
.Guid = NotNull(oRow.Item("GUID"), String.Empty),
|
||||
.Name = NotNull(oRow.Item("BEZEICHNUNG"), String.Empty),
|
||||
.Provider = NotNull(oRow.Item("SQL_PROVIDER"), String.Empty),
|
||||
.Database = NotNull(oRow.Item("DATENBANK"), String.Empty),
|
||||
.Description = NotNull(oRow.Item("BEMERKUNG"), String.Empty),
|
||||
.Password = NotNull(oRow.Item("PASSWORD"), String.Empty),
|
||||
.Server = NotNull(oRow.Item("SERVER"), String.Empty),
|
||||
.Username = NotNull(oRow.Item("USERNAME"), String.Empty)
|
||||
})
|
||||
Next
|
||||
|
||||
Return oConnections
|
||||
Catch ex As Exception
|
||||
ShowErrorMessage(ex)
|
||||
Return New List(Of SqlConnection)
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
||||
SQLString = txtSQL.Text
|
||||
DialogResult = DialogResult.OK
|
||||
@@ -22,10 +103,43 @@
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
If cmbConnections.SelectedItem Is Nothing Then
|
||||
MsgBox("Bitte wählen sie einen ")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Try
|
||||
MsgBox("TODO: Test SQL", MsgBoxStyle.Exclamation, Text)
|
||||
Dim oSQL As String = txtSQL.EditValue.ToString
|
||||
Dim oConnection As SqlConnection = cmbConnections.SelectedItem
|
||||
Dim oConnectionString = SQLServer.GetConnectionString(oConnection.Server, oConnection.Database, oConnection.Username, oConnection.Password)
|
||||
Dim oTable As DataTable = SQLServer.GetDatatableWithConnection(oSQL, oConnectionString)
|
||||
|
||||
GridControlResult.DataSource = oTable
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Regex Test")
|
||||
ShowErrorMessage(ex)
|
||||
End Try
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Private Sub txtSQL_EditValueChanged(sender As Object, e As EventArgs) Handles txtSQL.EditValueChanged
|
||||
CurrentPosition = txtSQL.SelectionStart
|
||||
Dim oValue = txtSQL.EditValue.ToString.Trim
|
||||
|
||||
If oValue.Length > 0 Then
|
||||
GridControlPlaceholders.Enabled = True
|
||||
CheckForPlaceholders(txtSQL.EditValue)
|
||||
Else
|
||||
GridControlPlaceholders.Enabled = False
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CheckForPlaceholders(Text As String)
|
||||
Placeholders.Clear()
|
||||
|
||||
For Each oPattern In Patterns.GetAllPatterns(Text)
|
||||
Placeholders.Add(New SqlPlaceholder With {
|
||||
.Placeholder = oPattern.ToString,
|
||||
.Replacement = ""
|
||||
})
|
||||
Next
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user