WIP: EDM Designer
This commit is contained in:
@@ -3,10 +3,12 @@ Imports DigitalData.Modules.Logging
|
||||
Imports System.IO
|
||||
|
||||
Public Class FrmMain
|
||||
Private SelectedTable As Integer
|
||||
Private _selectedTable As Integer
|
||||
Private _selectedTableName As String
|
||||
|
||||
Private _logger As NLog.Logger
|
||||
Private _logConfig As LogConfig
|
||||
Private DBFirebird As Firebird
|
||||
Private _firebird As Firebird
|
||||
|
||||
Private Sub CreateTableNodesFromDatatable(DataTable As DataTable, DatabaseName As String)
|
||||
treeViewMain.Nodes.Clear()
|
||||
@@ -29,6 +31,7 @@ Public Class FrmMain
|
||||
For Each row As DataRow In DataTable.Rows
|
||||
Dim oNode As New TreeNode With {
|
||||
.Text = row.Item("TABLE"),
|
||||
.Name = row.Item("TABLE"),
|
||||
.Tag = row.Item("TABLE_ID")
|
||||
}
|
||||
|
||||
@@ -45,7 +48,7 @@ Public Class FrmMain
|
||||
End Sub
|
||||
|
||||
Private Function LoadTables()
|
||||
Return DBFirebird.GetDatatable("SELECT DISTINCT T.TABLE_ID,T.""TABLE"" from VWEDM_TABLE_COLUMN T")
|
||||
Return _firebird.GetDatatable("SELECT DISTINCT T.TABLE_ID,T.""TABLE"" from VWEDM_TABLE_COLUMN T")
|
||||
End Function
|
||||
|
||||
Private Function DatabaseSettingsExist()
|
||||
@@ -53,9 +56,9 @@ Public Class FrmMain
|
||||
End Function
|
||||
|
||||
Private Sub Init()
|
||||
DBFirebird = New Firebird(_logConfig.LogFactory, My.Settings.fbDatasource, My.Settings.fbDatabaseLocation, My.Settings.fbUser, My.Settings.fbPassword)
|
||||
_firebird = New Firebird(_logConfig.LogFactory, My.Settings.fbDatasource, My.Settings.fbDatabaseLocation, My.Settings.fbUser, My.Settings.fbPassword)
|
||||
|
||||
If DBFirebird.ConnectionFailed Then
|
||||
If _firebird.ConnectionFailed Then
|
||||
MsgBox("Database connection failed. Please check the log.", vbCritical)
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -64,7 +67,7 @@ Public Class FrmMain
|
||||
'CurrentUser = New ClassCurrentUser(DBFirebird)
|
||||
|
||||
Dim dt As DataTable = LoadTables()
|
||||
CreateTableNodesFromDatatable(dt, DBFirebird.DatabaseName)
|
||||
CreateTableNodesFromDatatable(dt, _firebird.DatabaseName)
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -89,7 +92,8 @@ Public Class FrmMain
|
||||
|
||||
Private Sub TreeViewMain_NodeMouseClick(sender As Object, e As TreeNodeMouseClickEventArgs) Handles treeViewMain.NodeMouseClick
|
||||
If e.Button = MouseButtons.Right Then
|
||||
SelectedTable = -1
|
||||
_selectedTable = -1
|
||||
_selectedTableName = Nothing
|
||||
|
||||
' Wenn kein Node geklickt wurde, aussteigen
|
||||
If e.Node Is Nothing OrElse e.Node.Parent Is Nothing Then
|
||||
@@ -101,7 +105,8 @@ Public Class FrmMain
|
||||
' Das Kontextmenü für den angeklickten Node öffnen
|
||||
Select Case parentName
|
||||
Case "TABLES"
|
||||
SelectedTable = e.Node.Tag
|
||||
_selectedTable = e.Node.Tag
|
||||
_selectedTableName = e.Node.Name
|
||||
contextMenuTable.Show(MousePosition)
|
||||
Case "DATABASE"
|
||||
contextMenuDatabase.Show(MousePosition)
|
||||
@@ -111,31 +116,38 @@ Public Class FrmMain
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub SpaltenBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SpaltenBearbeitenToolStripMenuItem.Click
|
||||
Dim dt As DataTable = DBFirebird.GetDatatable($"SELECT * FROM VWEDM_TABLE_COLUMN WHERE TABLE_ID = {SelectedTable}")
|
||||
gridControlTableProperties.DataSource = dt
|
||||
End Sub
|
||||
|
||||
Private Sub TabelleBearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TabelleBearbeitenToolStripMenuItem.Click
|
||||
Dim oDataTable = New DataTable()
|
||||
Dim oConnection = _firebird.GetConnection()
|
||||
Dim oDataAdapter = New FirebirdSql.Data.FirebirdClient.FbDataAdapter($"SELECT * FROM VWEDM_TABLE_COLUMN WHERE TABLE_ID = {_selectedTable}", oConnection)
|
||||
|
||||
End Sub
|
||||
Try
|
||||
oDataAdapter.Fill(oDataTable)
|
||||
gridControlTableProperties.DataSource = oDataTable
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
MsgBox($"Error while loading columns for table {_selectedTable}")
|
||||
Finally
|
||||
oConnection.Close()
|
||||
End Try
|
||||
|
||||
Private Sub DebugAnToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugAnToolStripMenuItem.Click
|
||||
_logConfig.Debug = True
|
||||
End Sub
|
||||
oDataTable = New DataTable()
|
||||
oConnection = _firebird.GetConnection()
|
||||
oDataAdapter = New FirebirdSql.Data.FirebirdClient.FbDataAdapter($"SELECT * FROM VW_{_selectedTableName}", oConnection)
|
||||
|
||||
Private Sub DebugAusToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugAusToolStripMenuItem.Click
|
||||
_logConfig.Debug = False
|
||||
End Sub
|
||||
Try
|
||||
oDataAdapter.Fill(oDataTable)
|
||||
gridControlTableData.DataSource = oDataTable
|
||||
Catch ex As Exception
|
||||
_logger.Error(ex)
|
||||
MsgBox($"Error while loading data for table {_selectedTable}")
|
||||
Finally
|
||||
oConnection.Close()
|
||||
End Try
|
||||
|
||||
Private Sub WriteDebugLogToolStripMenuItem_Click(sender As Object, e As EventArgs)
|
||||
_logger.Debug("Welcome to monkey island!")
|
||||
End Sub
|
||||
|
||||
Private Sub SpamTheLogToolStripMenuItem_Click(sender As Object, e As EventArgs)
|
||||
For index = 1 To 100000
|
||||
_logger.Debug("Spam No. {0}", index)
|
||||
Next
|
||||
'Dim dt As DataTable = _firebird.GetDatatable($"SELECT * FROM VWEDM_TABLE_COLUMN WHERE TABLE_ID = {_selectedTable}")
|
||||
'gridControlTableProperties.DataSource = dt
|
||||
End Sub
|
||||
|
||||
Private Sub NeueTabelleToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NeueTabelleToolStripMenuItem.Click
|
||||
@@ -143,6 +155,6 @@ Public Class FrmMain
|
||||
oForm.ShowDialog()
|
||||
|
||||
Dim oTables As DataTable = LoadTables()
|
||||
CreateTableNodesFromDatatable(oTables, DBFirebird.DatabaseName)
|
||||
CreateTableNodesFromDatatable(oTables, _firebird.DatabaseName)
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user