Zooflow: integrate SQLEditor
This commit is contained in:
217
GUIs.ZooFlow/Administration/frmSQLDesigner_old.vb
Normal file
217
GUIs.ZooFlow/Administration/frmSQLDesigner_old.vb
Normal file
@@ -0,0 +1,217 @@
|
||||
Imports DevExpress.XtraEditors
|
||||
Imports DevExpress.XtraEditors.Repository
|
||||
Imports DigitalData.Modules.Database
|
||||
|
||||
Public Class frmSQLDesigner_old
|
||||
Dim CurrentPosition As Integer = 0
|
||||
Dim CurrentPlaceholders As New Placeholders()
|
||||
Dim CurrentTableType As String
|
||||
Dim AtPlaceholderPattern As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" '"\[%[0-9A-Za-z_-]{1,}\]"
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' Dieser Aufruf ist für den Designer erforderlich.
|
||||
InitializeComponent()
|
||||
|
||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||
|
||||
End Sub
|
||||
Public Class Placeholders
|
||||
Public Property RecordId As Integer
|
||||
Public Property ParentRecordId As Integer
|
||||
Public Property FormId As Integer
|
||||
End Class
|
||||
|
||||
Public Property SQLCommand() As String
|
||||
Get
|
||||
Return SQL_COMMANDTextBox.Text
|
||||
End Get
|
||||
Set(value As String)
|
||||
SQL_COMMANDTextBox.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property ConnectionID
|
||||
Public AutoAttributID
|
||||
Public Property DesignType As String
|
||||
Private IndicesMan As New List(Of Indice_Man)()
|
||||
Public Class Indice_Man
|
||||
Public Property ID() As Integer
|
||||
Public Property Indice_name() As String
|
||||
|
||||
End Class
|
||||
|
||||
Private Sub frmSQLDesigner_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
Dim oSQL
|
||||
bsiInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
|
||||
|
||||
If DesignType = "GI_ATTRIBUTE_MAN" Then
|
||||
EnDisable_Man_Attribute(False)
|
||||
Else
|
||||
EnDisable_Man_Attribute(True)
|
||||
oSQL = "Select * From TBDD_INDEX_MAN WHERE ACTIVE = 1"
|
||||
Dim oDT = My.DatabaseECM.GetDatatable(oSQL)
|
||||
cmbAttributeMan.DataSource = oDT
|
||||
cmbAttributeMan.DisplayMember = oDT.Columns("WD_INDEX").ColumnName
|
||||
|
||||
oSQL = $"Select * From TBDD_INDEX_AUTOM WHERE ACTIVE = 1 AND GUID <> {AutoAttributID}"
|
||||
Dim oDTAA = My.DatabaseECM.GetDatatable(oSQL)
|
||||
cmbAttributeAuto.DataSource = oDTAA
|
||||
cmbAttributeAuto.DisplayMember = oDTAA.Columns("INDEXNAME").ColumnName
|
||||
EnDisable_Auto_Attribute(True)
|
||||
|
||||
End If
|
||||
If DesignType = "SQL_OVERVIEW" Then
|
||||
cmbConnection.Enabled = False
|
||||
'btnShowConnections.Enabled = False
|
||||
Else
|
||||
cmbConnection.Enabled = True
|
||||
oSQL = "SELECT GUID, Bezeichnung FROM TBDD_CONNECTION WHERE AKTIV = 1"
|
||||
Dim oDT As DataTable = My.DatabaseECM.GetDatatable(oSQL)
|
||||
cmbConnection.DataSource = oDT
|
||||
cmbConnection.DisplayMember = oDT.Columns("Bezeichnung").ColumnName
|
||||
cmbConnection.ValueMember = oDT.Columns("GUID").ColumnName
|
||||
|
||||
|
||||
IndicesMan.Add(New Indice_Man() With {.ID = 1, .Indice_name = "Manually"})
|
||||
|
||||
'bind the lookup editor to the list
|
||||
Dim oLU As RepositoryItemLookUpEdit = RepositoryItemLookUpEdit3
|
||||
oLU.DataSource = oDT
|
||||
|
||||
oLU.DisplayMember = oDT.Columns("Bezeichnung").ColumnName
|
||||
oLU.ValueMember = oDT.Columns("GUID").ColumnName
|
||||
' Enable the "best-fit" functionality mode in which columns have proportional widths and the popup window is resized to fit all the columns.
|
||||
oLU.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup
|
||||
' Specify the dropdown height.
|
||||
oLU.DropDownRows = oDT.Rows.Count
|
||||
|
||||
' Enable the automatic completion feature. In this mode, when the dropdown is closed,
|
||||
' the text in the edit box is automatically completed if it matches a DisplayMember field value of one of dropdown rows.
|
||||
oLU.SearchMode = DevExpress.XtraEditors.Controls.SearchMode.AutoComplete
|
||||
' Specify the column against which an incremental search is performed in SearchMode.AutoComplete and SearchMode.OnlyInPopup modes
|
||||
oLU.AutoSearchColumnIndex = 1
|
||||
If Not IsNothing(ConnectionID) Then
|
||||
If IsNumeric(ConnectionID) Then
|
||||
cmbConnection.SelectedValue = ConnectionID
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'btnShowConnections.Enabled = True
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Sub SQL_COMMANDTextBox_TextChanged(sender As Object, e As EventArgs) Handles SQL_COMMANDTextBox.TextChanged, SQL_COMMANDTextBox.Click
|
||||
CurrentPosition = SQL_COMMANDTextBox.SelectionStart
|
||||
|
||||
If SQL_COMMANDTextBox.Text.Trim().Count = 0 Then
|
||||
dgvPlaceholders.Enabled = False
|
||||
Else
|
||||
dgvPlaceholders.Enabled = True
|
||||
End If
|
||||
|
||||
CheckForPlaceholders()
|
||||
End Sub
|
||||
Sub EnDisable_Man_Attribute(bool As Boolean)
|
||||
lblAttributeMan.Visible = bool
|
||||
cmbAttributeMan.Visible = bool
|
||||
btnAddAttributeMan.Visible = bool
|
||||
End Sub
|
||||
Sub EnDisable_Auto_Attribute(bool As Boolean)
|
||||
lblAttributeAuto.Visible = bool
|
||||
cmbAttributeAuto.Visible = bool
|
||||
btnAddAttributeAuto.Visible = bool
|
||||
End Sub
|
||||
Private Sub CheckForPlaceholders()
|
||||
Dim text As String = SQL_COMMANDTextBox.Text
|
||||
dgvPlaceholders.Rows.Clear()
|
||||
|
||||
Dim patterns As List(Of clsPatterns.Pattern) = clsPatterns.GetAllPatterns(text)
|
||||
|
||||
For Each pattern In patterns
|
||||
dgvPlaceholders.Rows.Add({pattern.ToString, ""})
|
||||
Next
|
||||
|
||||
'Dim count As Integer = 0
|
||||
'Dim text As String = Me.Value
|
||||
'Dim atPlaceholderRegex = New Regex(AtPlaceholderPattern, RegexOptions.IgnoreCase)
|
||||
'Dim matches As MatchCollection = atPlaceholderRegex.Matches(text)
|
||||
'dgvPlaceholders.Rows.Clear()
|
||||
'For Each match As Match In matches
|
||||
' dgvPlaceholders.Rows.Add({match.Value, ""})
|
||||
'Next
|
||||
End Sub
|
||||
Private Sub InsertAtSelection(str As String)
|
||||
Dim altePosition As Integer = SQL_COMMANDTextBox.SelectionStart()
|
||||
SQL_COMMANDTextBox.Text = SQL_COMMANDTextBox.Text.Insert(altePosition, str)
|
||||
SQL_COMMANDTextBox.SelectionStart = altePosition + str.Length
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub btnAddAttributeMan_Click(sender As Object, e As EventArgs) Handles btnAddAttributeMan.Click
|
||||
If cmbAttributeMan.SelectedIndex <> -1 Then
|
||||
Dim value As String = clsPatterns.WrapPatternValue(clsPatterns.PATTERN_ATTR_MAN, cmbAttributeMan.Text)
|
||||
InsertAtSelection(value)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnAddStatic_Click(sender As Object, e As EventArgs) Handles btnAddStatic.Click
|
||||
If cmbStatic.SelectedIndex <> -1 Then
|
||||
Dim value As String = clsPatterns.WrapPatternValue(clsPatterns.PATTERN_INT, cmbStatic.Text)
|
||||
InsertAtSelection(value)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub btnAddUser_Click(sender As Object, e As EventArgs) Handles btnAddUser.Click
|
||||
If cmbUser.SelectedIndex <> -1 Then
|
||||
Dim value As String = clsPatterns.WrapPatternValue(clsPatterns.PATTERN_USER, cmbUser.Text)
|
||||
InsertAtSelection(value)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
|
||||
Try
|
||||
Dim query As String = SQL_COMMANDTextBox.Text
|
||||
|
||||
For Each row As DataGridViewRow In dgvPlaceholders.Rows
|
||||
Dim placeholder As String = row.Cells(0).Value
|
||||
Dim replacement As String = row.Cells(1).Value
|
||||
|
||||
' Wenn Ersetzung ausgefüllt wurde, Platzhalter damit ersetzen
|
||||
If Not String.IsNullOrEmpty(replacement) Then
|
||||
Dim pattern As New clsPatterns.Pattern(placeholder)
|
||||
|
||||
query = clsPatterns.ReplacePattern(query, pattern.Type, replacement)
|
||||
Else
|
||||
MsgBox("Bitte geben Sie für den Platzhalter " & placeholder & " einen Wert an!", MsgBoxStyle.Exclamation, "Fehlende Platzhalter Ersetzung")
|
||||
Exit Sub
|
||||
End If
|
||||
Next
|
||||
'MsgBox(cmbConnection.SelectedValue)
|
||||
Dim oconString = My.DatabaseECM.Get_ConnectionStringforID(cmbConnection.SelectedValue)
|
||||
'MsgBox(oconString)
|
||||
Dim decryptedConString = MSSQLServer.DecryptConnectionString(oconString)
|
||||
'MsgBox(decryptedConString)
|
||||
Dim oDT = My.DatabaseECM.GetDatatableWithConnection(query, decryptedConString)
|
||||
|
||||
|
||||
If oDT IsNot Nothing Then
|
||||
GridControl1.DataSource = Nothing
|
||||
GridControl1.DataSource = oDT
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem2.ItemClick
|
||||
SQLCommand = SQL_COMMANDTextBox.Text
|
||||
ConnectionID = cmbConnection.SelectedValue
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user