From 5959f3dfe9c6ba012d394cc587b5a4c57308ea41 Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Wed, 2 Dec 2020 15:16:46 +0100 Subject: [PATCH] MS VErsionOFF MOVERENAME, Neues DD --- ToolCollection/ClassMO_RE.vb | 6 +- ToolCollection/ClassNIDatenbankzugriff.vb | 12 +- ToolCollection/ClassNIWindream.vb | 208 +++++----- ToolCollection/My Project/AssemblyInfo.vb | 2 +- ToolCollection/MyDataset.Designer.vb | 378 +++++++++++++++++- ToolCollection/MyDataset.xsd | 11 +- ToolCollection/MyDataset.xss | 7 +- ToolCollection/frmDIHauptseite.vb | 18 +- ToolCollection/frmNIHauptseite.vb | 51 ++- .../frmNIVerknuepfungen.Designer.vb | 9 - ToolCollection/frmNIVerknuepfungen.resx | 3 - ToolCollection/frmNIVerknuepfungen.vb | 17 +- ToolCollection/frmNI_SQLTest.Designer.vb | 66 +-- ToolCollection/frmNI_SQLTest.resx | 70 ++-- ToolCollection/frmNI_SQLTest.vb | 26 +- 15 files changed, 622 insertions(+), 262 deletions(-) diff --git a/ToolCollection/ClassMO_RE.vb b/ToolCollection/ClassMO_RE.vb index 7984402..21c8754 100644 --- a/ToolCollection/ClassMO_RE.vb +++ b/ToolCollection/ClassMO_RE.vb @@ -22,7 +22,7 @@ Public Class ClassMO_REOld adapter1.Fill(dt) SQLconnection.Close() Dim msg = sw.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return dt Catch ex As Exception _Logger.Error(ex) @@ -40,7 +40,7 @@ Public Class ClassMO_REOld SQLcommand.Dispose() SQLconnection.Close() Dim msg = sw.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return True Catch ex As Exception _Logger.Error(ex) @@ -184,7 +184,7 @@ Public Class ClassMO_REOld My.Computer.FileSystem.RenameFile(vDatei, _newfilename) _Logger.Debug("Erfolgsmeldung - Datei wurde erfolgreich umbenannt") Dim msg = sw.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") End If Execute_Command("INSERT INTO TBMO_RE_HISTORY (FILE_ORIGINAL, FILE_NEW, KUNDE, INDEX1, INDEX2, ERSTELLTWER) VALUES " & "('" & vDatei & "','" & _ziel & "','" & _kunde & "','" & _MRDeskrIndex & "','" & _MRDOKART & "','ToolCollection MORE')") diff --git a/ToolCollection/ClassNIDatenbankzugriff.vb b/ToolCollection/ClassNIDatenbankzugriff.vb index c1cc8cf..b622b09 100644 --- a/ToolCollection/ClassNIDatenbankzugriff.vb +++ b/ToolCollection/ClassNIDatenbankzugriff.vb @@ -173,7 +173,7 @@ Public Class ClassNIDatenbankzugriff Next _LastStep = "DataSet wurde durchlaufen" Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return Index Else If DataSet.Tables(0).Rows.Count = 1 Then @@ -182,13 +182,13 @@ Public Class ClassNIDatenbankzugriff _Logger.Debug("PLSQL-Ergebnis: '" & DataSet.Tables(0).Rows(0).Item(0) & "'") ' MsgBox("TestM: Wert: " & DataSet.Tables(0).Rows(0).Item(0).ToString) Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return DataSet.Tables(0).Rows(0).Item(0) Else _LastStep = "Rows.Count = 0" 'If My.Settings.vLogErrorsonly = False Then _Logger.Info("Dataadapter Rows count = 0") Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return Nothing End If End If @@ -202,7 +202,7 @@ Public Class ClassNIDatenbankzugriff ' DB-Connection schliessen Oracle_Conn.Close() Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return Nothing End Try @@ -214,7 +214,7 @@ Public Class ClassNIDatenbankzugriff email.Send_EMail("Profilname: " & Profilname & "
ClassNIDatenbankzugriff.GetValueFromOracleDb - SQL-Anweisung ist ungültig. Command-Objekt konnte nicht erstellt werden. ") End If Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return Nothing End If @@ -227,7 +227,7 @@ Public Class ClassNIDatenbankzugriff email.Send_EMail("Profilname: " & Profilname & "
ClassNIDatenbankzugriff.GetValueFromOracleDb - Ein unbekannter Fehler: " & ex.Message) End If Dim msg = swGvfO.Done - If msg <> "" Then _Logger.Info($"SWResult: {msg}") + If msg <> "" Then _Logger.Debug($"SWResult: {msg}") Return Nothing End Try diff --git a/ToolCollection/ClassNIWindream.vb b/ToolCollection/ClassNIWindream.vb index 6063b61..ef2a182 100644 --- a/ToolCollection/ClassNIWindream.vb +++ b/ToolCollection/ClassNIWindream.vb @@ -308,9 +308,23 @@ Public Class ClassNIWindream Dim i As Integer = 0 Dim indexname As String - If aValues.Length = 1 And aValues(0) = "" Then - _Logger.Info("Indexwert ist leer/Nothing - Keine Nachindexierung 311") - End If + Dim oLengthValues As Integer + Try + If aValues.Length = 1 And aValues(0) = "" Then + + _Logger.Info("Indexwert ist leer/Nothing - Keine Nachindexierung 313") + End If + Catch ex As Exception + Try + If aValues.Count = 1 And aValues(0) = "" Then + _Logger.Info("Indexwert ist leer/Nothing - Keine Nachindexierung 318") + End If + Catch ex1 As Exception + _Logger.Warn("Unexpected error in RunIndexing 321: " + ex.Message) + End Try + + End Try + ' wenn der Datei noch kein Dokumenttyp zugewiesen wurde If oDocument.aObjectType.aName <> Objekttyp Then ' ihr den entsprechenden Dokumenttyp zuweisen @@ -330,10 +344,12 @@ Public Class ClassNIWindream 'Jetzt jeden Indexwert durchlaufen For Each aName As String In Indizes indexname = aName + ' das entsprechende Attribut aus windream auslesen Dim oAttribute = Me.oWMSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i)) ' den Variablentyp (String, Integer, ...) auslesen Dim vType = oAttribute.getVariableValue("dwAttrType") + _Logger.Debug($"RunIndexing on Index [{aName}]...dwAttrType [{vType}]..") ' wenn in aValues an Position i ein Wert steht If Me.IsNotEmpty(aValues(i)) Then Dim _int As Boolean = False @@ -510,11 +526,10 @@ Public Class ClassNIWindream 'For Each row As DataRow In DT.Rows 'MsgBox(aName & vbNewLine & row.Item("IndexName") & vbNewLine & CStr(row.Item("Value"))) 'Next - Dim Anzahl As Integer = BS.Count - _Logger.Debug("Anzahl Vektorwerte: " & Anzahl.ToString) + Dim oAnzahl As Integer = BS.Count + 'Vektorfeld wird mit EINEM Wert gefüllt - Dim temp_arr As New ArrayList - If Anzahl = 1 Then + If oAnzahl = 0 Then _Logger.Debug("Vektorfeld wird mit EINEM Wert gefüllt ") ReDim myArray(0) myArray(0) = Convert_VectorType(vType, value) @@ -527,59 +542,44 @@ Public Class ClassNIWindream If _selectedProfil Is Nothing = False Then Me._selectedProfil._links.selectedLink = Me._selectedProfil._links.getLinkByIndex(aName) If Me._selectedProfil._links.selectedLink IsNot Nothing Then - Dim VektorArray + Dim oVektorList As New List(Of String) Select Case Me._selectedProfil._links.selectedLink.vktins_state Case 1 _Logger.Debug("vektInsState = '1'") - ReDim Preserve VektorArray(0) - VektorArray(0) = myArray(0) + oVektorList.Add(myArray(0)) Case 2 'Anfügen - _Logger.Debug("vektInsState = '2'-538") - VektorArray = Return_VektorArray(oDocument, aName, myArray, False, vType) + _Logger.Debug("vektInsState = '2'-550") + oVektorList = Return_VektorArray(oDocument, aName, myArray, False, vType) Case 3 'Anfügen mit DuplikatCheck _Logger.Debug("vektInsState = '3'") - VektorArray = Return_VektorArray(oDocument, aName, myArray, True, vType) + oVektorList = Return_VektorArray(oDocument, aName, myArray, True, vType) End Select - _Logger.Debug($"Vektortype is {vType} ...") - If VektorArray Is Nothing = False Then - ReDim myArray(VektorArray.Length - 1) - Array.Copy(VektorArray, myArray, VektorArray.Length) + If oVektorList Is Nothing = False Then + Try - 'Jetzt die Nachindexierung für Vektor-Felder - 'If BS.Count = 1 Then - ' If vType = 4097 Then - ' Dim strArray() - ' ReDim Preserve strArray(0) - ' strArray(0) = myArray(0) - ' temp_arr.Add(CStr(myArray(0))) - - ' oDocument.SetVariableValue(aName, strArray) - ' ElseIf vType = 4098 Then - ' temp_arr.Add(CInt(myArray(0))) - ' If temp_arr.Count > 0 Then - ' _Logger.Debug("'Einträge in temp_arr also Speichern des Arrays in convertValue") - ' convertValue = Nothing - ' convertValue = temp_arr.ToArray - ' Else - ' convertValue = vbEmpty - ' End If - ' ' den konvertierten Indexwert dem entsprechenden Index zuweisen - ' oDocument.SetVariableValue(aName, convertValue) - ' Else - ' _Logger.Debug($"Vektortype is {vType} therefore only storing first value [{myArray(0)}]!") - ' oDocument.SetVariableValue(aName, myArray(0)) - ' End If - - 'Else - _Logger.Debug($"Vektortype is {vType}: Indexing with [{VektorArray.Length} values]!") - oDocument.SetVariableValue(aName, myArray) - 'End If + ReDim myArray(oVektorList.Count - 1) + Dim oIndex As Integer = 0 + For Each oString As String In oVektorList - _Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich") + myArray(oIndex) = Convert_VectorType(vType, oString) + oIndex += 1 + Next + + Try + _Logger.Debug($"Vektortype is {vType}: Indexing with [{oVektorList.Count}] values!") + Catch ex As Exception + + End Try + oDocument.SetVariableValue(aName, myArray) + 'End If + _Logger.Debug("'SetVariableValue' für VEKTOR erfolgreich") + 'Die Änderungen festsschreiben/speichern + oDocument.Save() + Catch ex As Exception + _Logger.Warn($"Unexpected error while indexing vectorfield [{aName}] - Error: [{ex.Message}]") + End Try - 'Die Änderungen festsschreiben/speichern - oDocument.Save() End If Else @@ -589,12 +589,12 @@ Public Class ClassNIWindream _Logger.Warn(">> Achtung: Das Profil konnte nicht geladen werden - _selectedProfil is NOTHING") End If Else - _Logger.Debug("(RI) Vektorfeld wird mit MEHREREN Werten gefüllt ") + _Logger.Debug("Vektorfeld wird mit MEHREREN Werten [oAnzahl] gefüllt ") ' das ausgewählte Profil in _selectedProfile laden _selectedProfil = ClassNIProfile.getProfilByName(Profil) 'Die Größe des Arrays festlegen - ReDim myArray(Anzahl - 1) + ReDim myArray(oAnzahl - 1) Dim i1 As Integer = 0 'Die Datatable durchlaufen und Werte für den Index in Array schreiben For Each DR In DT_VEKTOR.Rows @@ -621,7 +621,13 @@ Public Class ClassNIWindream Case 1 _Logger.Debug("vektInsState = '1'") Dim z As Integer = 0 - ReDim VektorArray(myArray.Length) + Try + ReDim VektorArray(myArray.Length) + Catch ex As Exception + ReDim VektorArray(myArray.Count) + End Try + + For Each str As Object In myArray If str Is Nothing = False Then 'Das Array anpassen @@ -644,8 +650,16 @@ Public Class ClassNIWindream End Select If VektorArray Is Nothing = False Then 'Das Array wieder anpassen - ReDim myArray(VektorArray.Length - 1) - Array.Copy(VektorArray, myArray, VektorArray.Length) + Try + ReDim myArray(VektorArray.Length - 1) + Catch ex As Exception + ReDim myArray(VektorArray.count - 1) + End Try + Dim oIndex As Integer = 0 + For Each oStr As String In VektorArray + myArray(oIndex) = oStr + oIndex += 1 + Next 'Jetzt die Nachindexierung für Vektor-Felder oDocument.SetVariableValue(aName, myArray) @@ -714,28 +728,40 @@ Public Class ClassNIWindream Try Dim missing As Boolean = False Dim Anzahl As Integer = 0 - Dim ValueArray() + Dim oValues As New List(Of String) 'Jeden Wert des Vektorfeldes durchlaufen - Dim wertWD = oDocument.GetVariableValue(vktIndexName) - If wertWD Is Nothing = False Then + Dim oWMValue = oDocument.GetVariableValue(vktIndexName) + If oWMValue Is Nothing = False Then 'Nochmals prüfen ob wirklich Array - If wertWD.GetType.ToString.Contains("System.Object") Then + If oWMValue.GetType.ToString.Contains("System.Object") Then 'Keine Duplikatprüfung also einfach neues Array füllen If CheckDuplikat = False Then - For Each value As Object In wertWD - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, value) - Anzahl += 1 - Next + _Logger.Debug("Return_VektorArray: no duplicatecheck...") + If Not IsNothing(oWMValue) Then + Dim oWMValueArr() As Object + oWMValueArr = oWMValue + For Each oWMValueExisting As Object In oWMValueArr + Try + If oWMValueExisting Is Nothing = False Then + _Logger.Debug($"oWMValueExisting = [{oWMValueExisting.ToString}]") + Dim oconvertedvalue = Convert_VectorType(vType, oWMValueExisting.ToString) + oValues.Add(oconvertedvalue) + Anzahl += 1 + End If + Catch ex As Exception + _Logger.Warn($"Return_VektorArray: Could not convert value [{oWMValueExisting.ToString}] - {ex.Message}") + End Try + + Next + _Logger.Debug($"...we got [{Anzahl}] existing values!") + End If + 'Und jetzt den/die Neuen Wert(e) anfügen - For Each NewValue As Object In NIIndexe - If NewValue Is Nothing = False Then - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) + For Each oNewValue As Object In NIIndexe + If oNewValue Is Nothing = False Then + _Logger.Debug($"oNewValue = [{oNewValue}]") 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, NewValue) + oValues.Add(Convert_VectorType(vType, oNewValue)) Anzahl += 1 End If @@ -743,23 +769,17 @@ Public Class ClassNIWindream Else _Logger.Debug("Duplikatprüfung soll durchgeführt werden.") 'Duplikat Prüfung an, also nur anhängen wenn Wert <> - For Each WDValue As Object In wertWD + For Each WDValue As Object In oWMValue If WDValue Is Nothing = False Then - 'Erst einmal die ALten Werte schreiben - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, WDValue) + oValues.Add(Convert_VectorType(vType, WDValue.ToString)) Anzahl += 1 End If Next 'Jetzt die Neuen Werte auf Duplikate überprüfen For Each NewValue As Object In NIIndexe If NewValue Is Nothing = False Then - If ValueArray.Contains(NewValue) = False Then - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, NewValue) + If oValues.Contains(NewValue) = False Then + oValues.Add(Convert_VectorType(vType, NewValue)) Anzahl += 1 Else _Logger.Debug(">> Value '" & NewValue.ToString & "' bereits in Vektorfeld enthalten") @@ -774,39 +794,31 @@ Public Class ClassNIWindream For Each NewValue As Object In NIIndexe If NewValue Is Nothing = False Then If CheckDuplikat = True Then - If ValueArray Is Nothing = False Then - If ValueArray.Contains(NewValue) = False Then - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, NewValue) + If oValues.Count > 0 Then + If oValues.Contains(NewValue) = False Then + oValues.Add(Convert_VectorType(vType, NewValue)) Anzahl += 1 Else _Logger.Debug(">> Value '" & NewValue.ToString & "' bereits in Array enthalten") End If Else 'Dererste Wert, also hinzufügen - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, NewValue) + oValues.Add(Convert_VectorType(vType, NewValue)) Anzahl += 1 End If Else - 'Das Array anpassen - ReDim Preserve ValueArray(Anzahl) - 'Den Wert im Array speichern - ValueArray(Anzahl) = Convert_VectorType(vType, NewValue) + oValues.Add(Convert_VectorType(vType, NewValue)) Anzahl += 1 End If End If Next End If - Return ValueArray + Return oValues Catch ex As Exception - _Logger.Error(ex) + _Logger.Warn($"Unexpected Error Return_VektorArray [{vktIndexName}] # ERROR: {ex.Message}") + _Logger.Debug($"Unexpected Error Return_VektorArray [{vktIndexName}] # ERROR: {ex.Message}") End Try @@ -1024,11 +1036,11 @@ Public Class ClassNIWindream oWMFile.unlock() _Logger.Info($"NEW_MOVE_FILE ({oMethod}): file has been moved - target: '" & targetpath & "'") Dim msg = sw.Done - If msg <> String.Empty Then _Logger.Info(msg) + If msg <> String.Empty Then _Logger.Debug(msg) Return True Else Dim msg = sw.Done - If msg <> String.Empty Then _Logger.Info(msg) + If msg <> String.Empty Then _Logger.Debug(msg) Return False End If Catch ex As Exception diff --git a/ToolCollection/My Project/AssemblyInfo.vb b/ToolCollection/My Project/AssemblyInfo.vb index 149f4f5..8779692 100644 --- a/ToolCollection/My Project/AssemblyInfo.vb +++ b/ToolCollection/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/ToolCollection/MyDataset.Designer.vb b/ToolCollection/MyDataset.Designer.vb index 08e10a8..fd640c7 100644 --- a/ToolCollection/MyDataset.Designer.vb +++ b/ToolCollection/MyDataset.Designer.vb @@ -31,6 +31,8 @@ Partial Public Class MyDataset Private tableTBVEKTOR_ARRAY As TBVEKTOR_ARRAYDataTable + Private tableTBErgebnis As TBErgebnisDataTable + Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema _ + Public ReadOnly Property TBErgebnis() As TBErgebnisDataTable + Get + Return Me.tableTBErgebnis + End Get + End Property + _ + Private Function ShouldSerializeTBErgebnis() As Boolean + Return false + End Function + _ Private Sub SchemaChanged(ByVal sender As Object, ByVal e As Global.System.ComponentModel.CollectionChangeEventArgs) @@ -345,6 +377,9 @@ Partial Public Class MyDataset _ Public Delegate Sub TBVEKTOR_ARRAYRowChangeEventHandler(ByVal sender As Object, ByVal e As TBVEKTOR_ARRAYRowChangeEvent) + _ + Public Delegate Sub TBErgebnisRowChangeEventHandler(ByVal sender As Object, ByVal e As TBErgebnisRowChangeEvent) + ''' '''Represents the strongly named DataTable class. ''' @@ -1353,6 +1388,258 @@ Partial Public Class MyDataset End Function End Class + ''' + '''Represents the strongly named DataTable class. + ''' + _ + Partial Public Class TBErgebnisDataTable + Inherits Global.System.Data.TypedTableBase(Of TBErgebnisRow) + + Private columnErgebniswerte As Global.System.Data.DataColumn + + _ + Public Sub New() + MyBase.New + Me.TableName = "TBErgebnis" + Me.BeginInit + Me.InitClass + Me.EndInit + End Sub + + _ + Friend Sub New(ByVal table As Global.System.Data.DataTable) + MyBase.New + Me.TableName = table.TableName + If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then + Me.CaseSensitive = table.CaseSensitive + End If + If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then + Me.Locale = table.Locale + End If + If (table.Namespace <> table.DataSet.Namespace) Then + Me.Namespace = table.Namespace + End If + Me.Prefix = table.Prefix + Me.MinimumCapacity = table.MinimumCapacity + End Sub + + _ + Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext) + MyBase.New(info, context) + Me.InitVars + End Sub + + _ + Public ReadOnly Property ErgebniswerteColumn() As Global.System.Data.DataColumn + Get + Return Me.columnErgebniswerte + End Get + End Property + + _ + Public ReadOnly Property Count() As Integer + Get + Return Me.Rows.Count + End Get + End Property + + _ + Public Default ReadOnly Property Item(ByVal index As Integer) As TBErgebnisRow + Get + Return CType(Me.Rows(index),TBErgebnisRow) + End Get + End Property + + _ + Public Event TBErgebnisRowChanging As TBErgebnisRowChangeEventHandler + + _ + Public Event TBErgebnisRowChanged As TBErgebnisRowChangeEventHandler + + _ + Public Event TBErgebnisRowDeleting As TBErgebnisRowChangeEventHandler + + _ + Public Event TBErgebnisRowDeleted As TBErgebnisRowChangeEventHandler + + _ + Public Overloads Sub AddTBErgebnisRow(ByVal row As TBErgebnisRow) + Me.Rows.Add(row) + End Sub + + _ + Public Overloads Function AddTBErgebnisRow(ByVal Ergebniswerte As String) As TBErgebnisRow + Dim rowTBErgebnisRow As TBErgebnisRow = CType(Me.NewRow,TBErgebnisRow) + Dim columnValuesArray() As Object = New Object() {Ergebniswerte} + rowTBErgebnisRow.ItemArray = columnValuesArray + Me.Rows.Add(rowTBErgebnisRow) + Return rowTBErgebnisRow + End Function + + _ + Public Overrides Function Clone() As Global.System.Data.DataTable + Dim cln As TBErgebnisDataTable = CType(MyBase.Clone,TBErgebnisDataTable) + cln.InitVars + Return cln + End Function + + _ + Protected Overrides Function CreateInstance() As Global.System.Data.DataTable + Return New TBErgebnisDataTable() + End Function + + _ + Friend Sub InitVars() + Me.columnErgebniswerte = MyBase.Columns("Ergebniswerte") + End Sub + + _ + Private Sub InitClass() + Me.columnErgebniswerte = New Global.System.Data.DataColumn("Ergebniswerte", GetType(String), Nothing, Global.System.Data.MappingType.Element) + MyBase.Columns.Add(Me.columnErgebniswerte) + End Sub + + _ + Public Function NewTBErgebnisRow() As TBErgebnisRow + Return CType(Me.NewRow,TBErgebnisRow) + End Function + + _ + Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow + Return New TBErgebnisRow(builder) + End Function + + _ + Protected Overrides Function GetRowType() As Global.System.Type + Return GetType(TBErgebnisRow) + End Function + + _ + Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanged(e) + If (Not (Me.TBErgebnisRowChangedEvent) Is Nothing) Then + RaiseEvent TBErgebnisRowChanged(Me, New TBErgebnisRowChangeEvent(CType(e.Row,TBErgebnisRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowChanging(e) + If (Not (Me.TBErgebnisRowChangingEvent) Is Nothing) Then + RaiseEvent TBErgebnisRowChanging(Me, New TBErgebnisRowChangeEvent(CType(e.Row,TBErgebnisRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleted(e) + If (Not (Me.TBErgebnisRowDeletedEvent) Is Nothing) Then + RaiseEvent TBErgebnisRowDeleted(Me, New TBErgebnisRowChangeEvent(CType(e.Row,TBErgebnisRow), e.Action)) + End If + End Sub + + _ + Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs) + MyBase.OnRowDeleting(e) + If (Not (Me.TBErgebnisRowDeletingEvent) Is Nothing) Then + RaiseEvent TBErgebnisRowDeleting(Me, New TBErgebnisRowChangeEvent(CType(e.Row,TBErgebnisRow), e.Action)) + End If + End Sub + + _ + Public Sub RemoveTBErgebnisRow(ByVal row As TBErgebnisRow) + Me.Rows.Remove(row) + End Sub + + _ + Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType + Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType() + Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence() + Dim ds As MyDataset = New MyDataset() + Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any1.Namespace = "http://www.w3.org/2001/XMLSchema" + any1.MinOccurs = New Decimal(0) + any1.MaxOccurs = Decimal.MaxValue + any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any1) + Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny() + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1" + any2.MinOccurs = New Decimal(1) + any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax + sequence.Items.Add(any2) + Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute1.Name = "namespace" + attribute1.FixedValue = ds.Namespace + type.Attributes.Add(attribute1) + Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute() + attribute2.Name = "tableTypeName" + attribute2.FixedValue = "TBErgebnisDataTable" + type.Attributes.Add(attribute2) + type.Particle = sequence + Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable + If xs.Contains(dsSchema.TargetNamespace) Then + Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream() + Try + Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing + dsSchema.Write(s1) + Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator + Do While schemas.MoveNext + schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema) + s2.SetLength(0) + schema.Write(s2) + If (s1.Length = s2.Length) Then + s1.Position = 0 + s2.Position = 0 + + Do While ((s1.Position <> s1.Length) _ + AndAlso (s1.ReadByte = s2.ReadByte)) + + + Loop + If (s1.Position = s1.Length) Then + Return type + End If + End If + + Loop + Finally + If (Not (s1) Is Nothing) Then + s1.Close + End If + If (Not (s2) Is Nothing) Then + s2.Close + End If + End Try + End If + xs.Add(dsSchema) + Return type + End Function + End Class + ''' '''Represents strongly named DataRow class. ''' @@ -1738,6 +2025,49 @@ Partial Public Class MyDataset End Sub End Class + ''' + '''Represents strongly named DataRow class. + ''' + Partial Public Class TBErgebnisRow + Inherits Global.System.Data.DataRow + + Private tableTBErgebnis As TBErgebnisDataTable + + _ + Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder) + MyBase.New(rb) + Me.tableTBErgebnis = CType(Me.Table,TBErgebnisDataTable) + End Sub + + _ + Public Property Ergebniswerte() As String + Get + Try + Return CType(Me(Me.tableTBErgebnis.ErgebniswerteColumn),String) + Catch e As Global.System.InvalidCastException + Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Ergebniswerte in Tabelle TBErgebnis ist DBNull.", e) + End Try + End Get + Set + Me(Me.tableTBErgebnis.ErgebniswerteColumn) = value + End Set + End Property + + _ + Public Function IsErgebniswerteNull() As Boolean + Return Me.IsNull(Me.tableTBErgebnis.ErgebniswerteColumn) + End Function + + _ + Public Sub SetErgebniswerteNull() + Me(Me.tableTBErgebnis.ErgebniswerteColumn) = Global.System.Convert.DBNull + End Sub + End Class + ''' '''Row event argument class ''' @@ -1845,6 +2175,42 @@ Partial Public Class MyDataset End Get End Property End Class + + ''' + '''Row event argument class + ''' + _ + Public Class TBErgebnisRowChangeEvent + Inherits Global.System.EventArgs + + Private eventRow As TBErgebnisRow + + Private eventAction As Global.System.Data.DataRowAction + + _ + Public Sub New(ByVal row As TBErgebnisRow, ByVal action As Global.System.Data.DataRowAction) + MyBase.New + Me.eventRow = row + Me.eventAction = action + End Sub + + _ + Public ReadOnly Property Row() As TBErgebnisRow + Get + Return Me.eventRow + End Get + End Property + + _ + Public ReadOnly Property Action() As Global.System.Data.DataRowAction + Get + Return Me.eventAction + End Get + End Property + End Class End Class Namespace MyDatasetTableAdapters @@ -1989,9 +2355,9 @@ Namespace MyDatasetTableAdapters Me._adapter.TableMappings.Add(tableMapping) Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.DeleteCommand.Connection = Me.Connection - Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBTC_MOVE_RENAME"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (PROFILE_NAME = @PNAME)" + Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBTC_MOVE_RENAME"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID = @GUID)" Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text - Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@PNAME", Global.System.Data.SqlDbType.VarChar, 100, Global.System.Data.ParameterDirection.Input, 0, 0, "PROFILE_NAME", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) + Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GUID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", "")) Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand() Me._adapter.InsertCommand.Connection = Me.Connection Me._adapter.InsertCommand.CommandText = "INSERT INTO TBTC_MOVE_RENAME"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (PROFILE_NAME, FOLDER_FOR_"& _ @@ -2112,12 +2478,8 @@ Namespace MyDatasetTableAdapters Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _ Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _ Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Delete, true)> _ - Public Overloads Overridable Function Delete(ByVal PNAME As String) As Integer - If (PNAME Is Nothing) Then - Throw New Global.System.ArgumentNullException("PNAME") - Else - Me.Adapter.DeleteCommand.Parameters(0).Value = CType(PNAME,String) - End If + Public Overloads Overridable Function Delete(ByVal GUID As Integer) As Integer + Me.Adapter.DeleteCommand.Parameters(0).Value = CType(GUID,Integer) Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _ <> Global.System.Data.ConnectionState.Open) Then diff --git a/ToolCollection/MyDataset.xsd b/ToolCollection/MyDataset.xsd index e61b9f0..938897d 100644 --- a/ToolCollection/MyDataset.xsd +++ b/ToolCollection/MyDataset.xsd @@ -13,9 +13,9 @@ DELETE FROM TBTC_MOVE_RENAME -WHERE (PROFILE_NAME = @PNAME) +WHERE (GUID = @GUID) - + @@ -254,6 +254,13 @@ SELECT GUID, PROFILE_NAME, REGEX, CREATED_WHO, CREATED_WHEN, CHANGED_WHO, CHANGE + + + + + + + diff --git a/ToolCollection/MyDataset.xss b/ToolCollection/MyDataset.xss index 3671861..df63135 100644 --- a/ToolCollection/MyDataset.xss +++ b/ToolCollection/MyDataset.xss @@ -6,9 +6,10 @@ --> - - - + + + + \ No newline at end of file diff --git a/ToolCollection/frmDIHauptseite.vb b/ToolCollection/frmDIHauptseite.vb index b90b0e7..bed645b 100644 --- a/ToolCollection/frmDIHauptseite.vb +++ b/ToolCollection/frmDIHauptseite.vb @@ -452,23 +452,29 @@ Public Class frmDIHauptseite Me.arrayDateiinformationen = New ArrayList If Me.ImportFileList.Count > 0 Then - ClassLoggerDI.Add(" Insgesamt sollen " & Me.ImportFileList.Count & " Dateien importiert werden", False) + ClassLoggerDI.Add(" Insgesamt sollen [" & Me.ImportFileList.Count & "] Dateien importiert werden", False) Else ClassLoggerDI.Add(" Keine Dateien vorhanden", False) + Exit Sub End If Dim fileAusschliessen As Boolean = False If Me.selectedProfile.Subdirectories = True Then - CURRENT_UNTERV.Clear() - For Each di In Directory.GetDirectories(Path.GetDirectoryName(Me.selectedProfile.OriginalQuellordner & "\"), "*.*") + If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" > Subdirectories activated", False) + CURRENT_UNTERV = New List(Of String) + For Each oSubdirectory In Directory.GetDirectories(Path.GetDirectoryName(Me.selectedProfile.OriginalQuellordner & "\"), "*.*") + If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add($" > checking Subdirectory [{oSubdirectory}]", False) GetDirectories(Me.selectedProfile.OriginalQuellordner & "\", oSubDirectoryList) Next For Each Dir As String In oSubDirectoryList oLastFolderinFiles = Dir Next oSubDirectoryList.Reverse() + If My.Settings.vLogErrorsonly = False Then + ClassLoggerDI.Add(" >CURRENT_UNTERV filled", False) + End If Else - oLastFolderinFiles = Me.selectedProfile.OriginalQuellordner + oLastFolderinFiles = Me.selectedProfile.OriginalQuellordner End If For Each filename As String In Me.ImportFileList @@ -498,7 +504,9 @@ Public Class frmDIHauptseite End If ' alle Dateien durchlaufen - + If Me.ImportFileList.Count > 0 Then + If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add(" > Now For Each oFilenameQuelle As String In Me.ImportFileList", False) + End If For Each oFilenameQuelle As String In Me.ImportFileList fileAusschliessen = False Dim oFilenameOnly = Path.GetFileName(oFilenameQuelle) diff --git a/ToolCollection/frmNIHauptseite.vb b/ToolCollection/frmNIHauptseite.vb index e492e5f..a8570e1 100644 --- a/ToolCollection/frmNIHauptseite.vb +++ b/ToolCollection/frmNIHauptseite.vb @@ -321,8 +321,8 @@ Public Class frmNIHauptseite bwProfil.ReportProgress(-3) ' Ausgabe an Logdatei über nächstes Profil - _Logger.Debug("########################################################") - _Logger.Debug("Starte Durchlauf für Profil: " & profil.Profilname & " - " & Now) + _Logger.Info("########################################################") + _Logger.Info("Starte Durchlauf für Profil: " & profil.Profilname & " - " & Now) ' Überprüfen ob Profil aktiv oder inaktiv If CBool(Me.aktivesProfil.Aktiv) = False Then @@ -504,7 +504,7 @@ Public Class frmNIHauptseite End If End If - + _Logger.Info("####################################################End Profile DoWork####") ' nächstes Profil an ProgressBar1 bwProfil.ReportProgress(-2) Next @@ -1291,18 +1291,16 @@ Public Class frmNIHauptseite _Logger.Debug("Me.aktivesProfil.SQL_Anweisung: " & Me.aktivesProfil.SQL_Anweisung) If Me.aktivesProfil.SQL_Anweisung.StartsWith("EXECUTEVB") Then _Logger.Debug("Execute VB-Script after indexing......") - Dim anweisung As String = Me.aktivesProfil.SQL_Anweisung.Replace("EXECUTEVB ", "") - Dim arrAnweisung As String() = Split(anweisung, "#") - + Dim oVBScriptRAW As String = Me.aktivesProfil.SQL_Anweisung.Replace("EXECUTEVB ", "") ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" ' SQL-String für aktuelles Profil laden - Dim VBSCRIPTCOMMAND As String = anweisung + Dim oVBScriptCommand As String = oVBScriptRAW ' einen Regulären Ausdruck laden Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg) ' die Vorkommen im SQL-String auslesen - Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(VBSCRIPTCOMMAND) + Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(oVBScriptCommand) ' alle Vorkommen der windream-Indexe im SQL-String durchlaufen For Each element As System.Text.RegularExpressions.Match In elemente @@ -1320,7 +1318,7 @@ Public Class frmNIHauptseite ddvariable = Path.GetDirectoryName(filepath) End Select - VBSCRIPTCOMMAND = VBSCRIPTCOMMAND.Replace(element.Value, ddvariable) + oVBScriptCommand = oVBScriptCommand.Replace(element.Value, ddvariable) Else Try ' den Wert des deskriptiven Indexes für das aktuelle Dokument auslesen @@ -1331,7 +1329,7 @@ Public Class frmNIHauptseite _Logger.Warn("Fehler in Get Indexwert aus windream bei Spezifischem SQL: " & ex.Message.ToString) End Try - VBSCRIPTCOMMAND = VBSCRIPTCOMMAND.Replace(element.Value, IndexwertAusWindream.ToString) + oVBScriptCommand = oVBScriptCommand.Replace(element.Value, IndexwertAusWindream.ToString) End If @@ -1339,27 +1337,38 @@ Public Class frmNIHauptseite 'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName) Next - _Logger.Debug("VBSCRIPTCOMMAND after replacing variables: " & VBSCRIPTCOMMAND) + _Logger.Debug("VBSCRIPTCOMMAND after replacing variables: " & oVBScriptCommand) Try - Dim arr_split As String() - arr_split = VBSCRIPTCOMMAND.Split("#") - _Logger.Debug("Split1 - Path: " & arr_split(0).ToString) + Dim oArrParams As String() + oArrParams = oVBScriptCommand.Split("#") + _Logger.Debug("VBSplit1 - Path: " & oArrParams(0).ToString) Dim myProcess As New Process Dim oProcessID - myProcess.StartInfo.FileName = arr_split(0) + myProcess.StartInfo.FileName = oArrParams(0) ' Dim startInfo As New ProcessStartInfo(arr_split(0)) ' startInfo.CreateNoWindow = True + Dim oParamArg As String = "" - Dim _argument As String = arr_split(1) - _argument = _argument.Replace("'", """") - 'startInfo.Arguments = _argument + Dim i As Integer = 0 + Dim oStepArg As String + For Each oParam As String In oArrParams + If i <> 0 Then + If i = 1 Then + oStepArg = $"""{oParam.Replace("'", """")}""" + Else + oStepArg = $" ""{oParam.Replace("'", """")}""" + End If + oParamArg += oStepArg + End If - myProcess.StartInfo.Arguments = _argument + i += 1 + Next + myProcess.StartInfo.Arguments = oParamArg _Logger.Debug("Argument from myProcess: " & myProcess.StartInfo.Arguments) myProcess.Start() @@ -1566,7 +1575,7 @@ Public Class frmNIHauptseite 'Dim sw1 As New ClassStopwatch("dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex)") 'Dim _MOREDA = dokument.GetVariableValue(Me.aktivesProfil.MR_DAIndex) 'Dim msg As String = sw1.Done - 'If msg <> "" Then _Logger.Info($"SWResult: {msg}") + 'If msg <> "" Then _Logger.Debug($"SWResult: {msg}") 'Dim _MOREKD 'If Me.aktivesProfil.MR_KDIndex <> "" Then ' _MOREKD = dokument.GetVariableValue(Me.aktivesProfil.MR_KDIndex) @@ -1676,7 +1685,7 @@ Public Class frmNIHauptseite If swMessage <> "" Then Stopwatch1 += vbNewLine & $"{swMessage}" End If - _Logger.Info("## Result Stopwatch: ##" & vbNewLine & Stopwatch1) + _Logger.Debug("## Result Stopwatch: ##" & vbNewLine & Stopwatch1) Catch ex As Exception _Logger.Error(ex) _Logger.Warn($"oResultNachindexierung so far: {oResultNachindexierung.ToString}") diff --git a/ToolCollection/frmNIVerknuepfungen.Designer.vb b/ToolCollection/frmNIVerknuepfungen.Designer.vb index c2876be..68cac17 100644 --- a/ToolCollection/frmNIVerknuepfungen.Designer.vb +++ b/ToolCollection/frmNIVerknuepfungen.Designer.vb @@ -114,7 +114,6 @@ Partial Class frmNIVerknuepfungen Me.lblDescr_manuellerWert = New System.Windows.Forms.Label() Me.txtManIndexwert = New System.Windows.Forms.TextBox() Me.MyDataset = New ToolCollection.MyDataset() - Me.TBErgebnisBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.pnlfulltext = New System.Windows.Forms.Panel() Me.lblFT_Meldung = New System.Windows.Forms.Label() Me.btnSave_FulltextLinks = New System.Windows.Forms.Button() @@ -182,7 +181,6 @@ Partial Class frmNIVerknuepfungen Me.TabPage2.SuspendLayout() Me.GroupBox2.SuspendLayout() CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.TBErgebnisBindingSource, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnlfulltext.SuspendLayout() Me.grpbxFT_Vorkommen.SuspendLayout() Me.GroupBox4.SuspendLayout() @@ -1262,11 +1260,6 @@ Partial Class frmNIVerknuepfungen Me.MyDataset.DataSetName = "MyDataset" Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema ' - 'TBErgebnisBindingSource - ' - Me.TBErgebnisBindingSource.DataMember = "TBErgebnis" - Me.TBErgebnisBindingSource.DataSource = Me.MyDataset - ' 'pnlfulltext ' Me.pnlfulltext.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ @@ -1963,7 +1956,6 @@ Partial Class frmNIVerknuepfungen Me.GroupBox2.ResumeLayout(False) Me.GroupBox2.PerformLayout() CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.TBErgebnisBindingSource, System.ComponentModel.ISupportInitialize).EndInit() Me.pnlfulltext.ResumeLayout(False) Me.pnlfulltext.PerformLayout() Me.grpbxFT_Vorkommen.ResumeLayout(False) @@ -2060,7 +2052,6 @@ Partial Class frmNIVerknuepfungen Friend WithEvents txtTestwert_checkindex As System.Windows.Forms.TextBox Friend WithEvents btntest_checkIndexsql As System.Windows.Forms.Button Friend WithEvents MyDataset As ToolCollection.MyDataset - Friend WithEvents TBErgebnisBindingSource As System.Windows.Forms.BindingSource Friend WithEvents TabPage6 As System.Windows.Forms.TabPage Friend WithEvents lblDescr_manuellerWert As System.Windows.Forms.Label Friend WithEvents txtManIndexwert As System.Windows.Forms.TextBox diff --git a/ToolCollection/frmNIVerknuepfungen.resx b/ToolCollection/frmNIVerknuepfungen.resx index 8897fd8..6568d71 100644 --- a/ToolCollection/frmNIVerknuepfungen.resx +++ b/ToolCollection/frmNIVerknuepfungen.resx @@ -130,9 +130,6 @@ SQL-Command can be written like sql. 305, 17 - - 415, 17 - 606, 17 diff --git a/ToolCollection/frmNIVerknuepfungen.vb b/ToolCollection/frmNIVerknuepfungen.vb index 6e56016..e51bee1 100644 --- a/ToolCollection/frmNIVerknuepfungen.vb +++ b/ToolCollection/frmNIVerknuepfungen.vb @@ -2173,12 +2173,7 @@ Public Class frmNIVerknuepfungen End Sub Private Sub txtUpdateAnweisung_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtfinalSkriptUpdate.TextChanged - If Me._selectedProfil IsNot Nothing Then - Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text - If Not Me.txtfinalSkriptUpdate.Text = Me._selectedProfil.OriginalSQL_Anweisung Then - End If - End If End Sub Private Sub btnWindreamIndexEinfügenSQL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWindreamIndexEinfügenSQL.Click If Not Me.cmbWindreamIndexeSQL.SelectedItem = "" Then @@ -3531,6 +3526,18 @@ Public Class frmNIVerknuepfungen End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + If Me._selectedProfil IsNot Nothing Then + + If Not Me.txtfinalSkriptUpdate.Text = Me._selectedProfil.OriginalSQL_Anweisung Then + Me._selectedProfil.SQL_Anweisung = Me.txtfinalSkriptUpdate.Text + Me._selectedProfil.setChanged() + Me._selectedProfil._links.setLinksChanged() + Else + Exit Sub + End If + Else + Exit Sub + End If If Me._selectedProfil.Save(True, "profile") = True Then ' wenn das Speichern erfolgreich war Me.lblsaveSQLAnweisung.Text = "Data saved - " & Now.ToString diff --git a/ToolCollection/frmNI_SQLTest.Designer.vb b/ToolCollection/frmNI_SQLTest.Designer.vb index 9238db3..ebfae92 100644 --- a/ToolCollection/frmNI_SQLTest.Designer.vb +++ b/ToolCollection/frmNI_SQLTest.Designer.vb @@ -24,10 +24,8 @@ Partial Class frmNI_SQLTest Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmNI_SQLTest)) - Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle() Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator(Me.components) Me.BindingSource1 = New System.Windows.Forms.BindingSource(Me.components) - Me.MyDataset1 = New ToolCollection.MyDataset() Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel() Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMovePreviousItem = New System.Windows.Forms.ToolStripButton() @@ -39,14 +37,13 @@ Partial Class frmNI_SQLTest Me.BindingNavigatorSeparator2 = New System.Windows.Forms.ToolStripSeparator() Me.txtStartwert = New System.Windows.Forms.ToolStripTextBox() Me.tsbaktualisieren = New System.Windows.Forms.ToolStripButton() + Me.MyDataset = New ToolCollection.MyDataset() Me.txtSQL_String = New System.Windows.Forms.TextBox() - Me.DataGridView = New System.Windows.Forms.DataGridView() - Me.ErgebniswerteDataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.ListBox1 = New System.Windows.Forms.ListBox() CType(Me.BindingNavigator1, System.ComponentModel.ISupportInitialize).BeginInit() Me.BindingNavigator1.SuspendLayout() CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.MyDataset1, System.ComponentModel.ISupportInitialize).BeginInit() - CType(Me.DataGridView, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'BindingNavigator1 @@ -68,16 +65,6 @@ Partial Class frmNI_SQLTest Me.BindingNavigator1.TabIndex = 0 Me.BindingNavigator1.Text = "BindingNavigator1" ' - 'BindingSource1 - ' - Me.BindingSource1.DataMember = "TBErgebnis" - Me.BindingSource1.DataSource = Me.MyDataset1 - ' - 'MyDataset1 - ' - Me.MyDataset1.DataSetName = "MyDataset" - Me.MyDataset1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema - ' 'BindingNavigatorCountItem ' Me.BindingNavigatorCountItem.Name = "BindingNavigatorCountItem" @@ -112,6 +99,7 @@ Partial Class frmNI_SQLTest ' Me.BindingNavigatorPositionItem.AccessibleName = "Position" Me.BindingNavigatorPositionItem.AutoSize = False + Me.BindingNavigatorPositionItem.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem" Me.BindingNavigatorPositionItem.Size = New System.Drawing.Size(50, 21) Me.BindingNavigatorPositionItem.Text = "0" @@ -147,6 +135,7 @@ Partial Class frmNI_SQLTest ' 'txtStartwert ' + Me.txtStartwert.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.txtStartwert.Name = "txtStartwert" Me.txtStartwert.Size = New System.Drawing.Size(100, 25) ' @@ -160,6 +149,11 @@ Partial Class frmNI_SQLTest Me.tsbaktualisieren.Text = "ToolStripButton1" Me.tsbaktualisieren.ToolTipText = "Aktualisieren" ' + 'MyDataset + ' + Me.MyDataset.DataSetName = "MyDataset" + Me.MyDataset.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema + ' 'txtSQL_String ' Me.txtSQL_String.BackColor = System.Drawing.SystemColors.ControlLight @@ -172,36 +166,21 @@ Partial Class frmNI_SQLTest Me.txtSQL_String.Size = New System.Drawing.Size(625, 47) Me.txtSQL_String.TabIndex = 1 ' - 'DataGridView - ' - Me.DataGridView.AllowUserToAddRows = False - Me.DataGridView.AllowUserToDeleteRows = False - DataGridViewCellStyle1.BackColor = System.Drawing.Color.Cyan - Me.DataGridView.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1 - Me.DataGridView.AutoGenerateColumns = False - Me.DataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize - Me.DataGridView.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.ErgebniswerteDataGridViewTextBoxColumn}) - Me.DataGridView.DataSource = Me.BindingSource1 - Me.DataGridView.Dock = System.Windows.Forms.DockStyle.Fill - Me.DataGridView.Location = New System.Drawing.Point(0, 72) - Me.DataGridView.Name = "DataGridView" - Me.DataGridView.ReadOnly = True - Me.DataGridView.Size = New System.Drawing.Size(625, 444) - Me.DataGridView.TabIndex = 2 - ' - 'ErgebniswerteDataGridViewTextBoxColumn - ' - Me.ErgebniswerteDataGridViewTextBoxColumn.DataPropertyName = "Ergebniswerte" - Me.ErgebniswerteDataGridViewTextBoxColumn.HeaderText = "Ergebniswerte" - Me.ErgebniswerteDataGridViewTextBoxColumn.Name = "ErgebniswerteDataGridViewTextBoxColumn" - Me.ErgebniswerteDataGridViewTextBoxColumn.ReadOnly = True + 'ListBox1 + ' + Me.ListBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ListBox1.FormattingEnabled = True + Me.ListBox1.Location = New System.Drawing.Point(0, 72) + Me.ListBox1.Name = "ListBox1" + Me.ListBox1.Size = New System.Drawing.Size(625, 444) + Me.ListBox1.TabIndex = 2 ' 'frmNI_SQLTest ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(625, 516) - Me.Controls.Add(Me.DataGridView) + Me.Controls.Add(Me.ListBox1) Me.Controls.Add(Me.txtSQL_String) Me.Controls.Add(Me.BindingNavigator1) Me.DataBindings.Add(New System.Windows.Forms.Binding("Location", Global.ToolCollection.My.MySettings.Default, "frmNI_SQL_Loc", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)) @@ -216,8 +195,7 @@ Partial Class frmNI_SQLTest Me.BindingNavigator1.ResumeLayout(False) Me.BindingNavigator1.PerformLayout() CType(Me.BindingSource1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.MyDataset1, System.ComponentModel.ISupportInitialize).EndInit() - CType(Me.DataGridView, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() @@ -235,8 +213,8 @@ Partial Class frmNI_SQLTest Friend WithEvents txtStartwert As System.Windows.Forms.ToolStripTextBox Friend WithEvents BindingSource1 As System.Windows.Forms.BindingSource Friend WithEvents tsbaktualisieren As System.Windows.Forms.ToolStripButton - Friend WithEvents MyDataset1 As ToolCollection.MyDataset + Friend WithEvents MyDataset As ToolCollection.MyDataset Friend WithEvents txtSQL_String As System.Windows.Forms.TextBox - Friend WithEvents DataGridView As System.Windows.Forms.DataGridView Friend WithEvents ErgebniswerteDataGridViewTextBoxColumn As System.Windows.Forms.DataGridViewTextBoxColumn + Friend WithEvents ListBox1 As ListBox End Class diff --git a/ToolCollection/frmNI_SQLTest.resx b/ToolCollection/frmNI_SQLTest.resx index f7faca4..9cbcd7f 100644 --- a/ToolCollection/frmNI_SQLTest.resx +++ b/ToolCollection/frmNI_SQLTest.resx @@ -112,65 +112,61 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - - 159, 17 + + 152, 23 - - 287, 17 - - + - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAStJREFUOE9jYBg0 - oHDW8/9NC57/z5z4+D8uR4W3P8Apx5A789n/VUfe/8elKL77wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+ - ///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0v3f1BxRFoa33wJpb1wFt7/z73yX/AG4D - Apsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvgUXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF - 7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbAIu/O/9T+11gVGSSd+C+b9vW/bvA83AYY - Zt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPulf8gBXgVDZqMh+wQAPB2wKsSwCgmAAAA - AElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABKklEQVQ4T2MYPKBw1vP/TQue/8+c+Pg/ + VAgDhLc/wCnHkDvz2f9VR97/x6UovvvB/+CGa7gNyJjy9P/CfR+wKorvefh/6f7///2rL+A2IKHnyf9p + W95jKIpovw/WnDnr/3+v0hO4DYjsevS/d/UHFEWhrffAmlvXAW3v/PvfJf8AbgMCmx/+r5v/Dq4ouOXu + /0V7///vAGrOmPPzv13dz//2GdtxG+BRdf9//rQ3KIrsim//T5/z+79/17f/OoXv/lskrMdtgH3p3f/Z + k19jKNJPOf/fpOjFf5WsT/+NI5fhNsAi787/1P7XWBUZJJ34L5v29b9u8DzcBhhm3f4f1vISpyL91Mv/ + NXyn4TZAJ+3Gf7/qh3gVqXhMwG2AU+6V/yAFeBUNQsDAAADwdsCrpeWacAAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAL1JREFUOE9jYBgy - ILz9wX+yHRvf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3v - kn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ14A0ChbVd8+3/6nN///bu+/dcpfPffImE9aQaADNFP - Of/fpOjFf5WsT/+NI5eRbgDIEIOkE/9l077+1w2eR54BYJekXv6v4TuNfANAhqh4TKDMALKTMc01AgDQ - FGCYkuTLEQAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAtklEQVQ4T2MYOiC8/cF/KJN0EN/94H9w + wzXyDIjvefh/6f7///2rL5BuQET7fbDmzFn//3uVniDNgNDWe2DNreuAtnf+/e+Sf4B4A4Jb7v5ftPf/ + /w6g5ow5P//b1f38b5+xnTQX2BXf/p8+5/d//65v/3UK3/23SFhPehjop5z/b1L04r9K1qf/xpHLSDcA + BAySTvyXTfv6Xzd4HnkGgIB+6uX/Gr7TyDcABFQ8JlBmwGAFDAwA0BRgmAS6UFUAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAKtJREFUOE9jYBh0 - oHDW8/8UOSp35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ - ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuIN8Sj6v7/krnv4JoVXXqI1wyKPvvSu/8D - W56BbSZZM8gAi7w7/20KrpCnGWSAYdZt8jWDDNBJu0GanylKtoNCMwCgfl+gC2KedgAAAABJRU5ErkJg - gg== + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAo0lEQVQ4T2MYfKBw1vP/UCZ5IHfms/8J + 3ffINyRjytP/8/b//p/QdYc8QxJ6nvyfve/X/86tf/+7lV4m3ZDIrkf/p2z79b9k6d//CdP//rfJPUua + IYHND/+3rn0P1mxc8uW/dPS1/8aRy4g3xKPq/v+Sue/gmhVdekhzgX3p3f+BLc/I0wwCFnl3/tsUXCFP + MwgYZt0mXzMI6KTdIF/zUAQMDACgfl+gBzRCOAAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAATBJREFUOE9jYBhU - oHDW8/+4HASSa1rw/H/mxMc41TDkznz2P6H7HlYFILlVR97/D29/gNuAjClP/8/b//t/QtcdDEUguYX7 - PvwPbriG24CEnif/Z+/79b9z69//bqWXURSC5KZtef/fv/oCbgMiux79n7Lt1/+SpX//J0z/+98m9yxc - MUiud/WH/16lJ3AbENj88H/r2vdgzcYlX/5LR1/7bxy5DKwBJFc3/91/l/wDuA3wqLr/v2TuO7hmRZce - uGKQXP60N//tM7bjNsC+9O7/wJZnYJuRNYNcAJLLnvz6v0XCetwGWOTd+W9TcAVDM8gAkFxq/2u4l7Cm - F8Os21g1gxSD5MJaXv7XDZ6H2wU6aTdwSoLk/Kof/tfwnYbbAHz5yin3yn8VjwlgPKjyHwMAvtG/s0Vm - x8MAAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLElEQVQ4T2MYXKBw1vP/UCYGAMk1LXj+ + P3PiY5xqGHJnPvuf0H0PqwKQ3Koj7/+Htz/AbUDGlKf/5+3//T+h6w6GIpDcwn0f/gc3XMNtQELPk/+z + 9/3637n173+30ssoCkFy07a8/+9ffQG3AZFdj/5P2fbrf8nSv/8Tpv/9b5N7Fq4YJNe7+sN/r9ITuA0I + bH74v3Xte7Bm45Iv/6Wjr/03jlwG1gCSq5v/7r9L/gHcBnhU3f9fMvcdXLOiSw9cMUguf9qb//YZ23Eb + YF96939gyzMMzSAAksue/Pq/RcJ63AZY5N35b1NwBUMzCIDkUvtfw72EFRhm3caqGQRAcmEtL//rBs/D + bYBO2g2ckiA5v+qH/zV8p+E2AB9wyr3yX8VjAhhDhQYFYGAAAL7Rv7O5DE6cAAAAAElFTkSuQmCC + + 287, 17 + AAABAAIAICAQAAEABADoAgAAJgAAABAQEAABAAQAKAEAAA4DAAAoAAAAIAAAAEAAAAABAAQAAAAAAIAC diff --git a/ToolCollection/frmNI_SQLTest.vb b/ToolCollection/frmNI_SQLTest.vb index 1887111..a4810a3 100644 --- a/ToolCollection/frmNI_SQLTest.vb +++ b/ToolCollection/frmNI_SQLTest.vb @@ -128,20 +128,14 @@ Public Class frmNI_SQLTest 'Try ' Datenadapter laden DataAdapter = New OracleDataAdapter(Command) 'OracleDataAdapter(Command) - ' DataSet mit Daten füllen - ' MsgBox(Command.CommandText) - MyDataset1.Tables("TBErgebnis").Clear() + MyDataset.Tables("TBErgebnis").Clear() ' DataSet erzeugen Dim DataSet = New DataSet() - + ListBox1.Items.Clear() ' DataSet mit Daten füllen DataAdapter.Fill(DataSet) For Each Row As DataRow In DataSet.Tables(0).Rows - Dim Row1 As DataRow - Row1 = MyDataset1.Tables("TBErgebnis").NewRow() - 'filling the row with values. Item property is used to set the field value. - Row1.Item("Ergebniswerte") = Row.Item(0) - MyDataset1.Tables("TBErgebnis").Rows.Add(Row1) + ListBox1.Items.Add(Row.Item(0)) Next Me.BindingSource1.ResumeBinding() ' DB-Connection schliessen @@ -216,20 +210,18 @@ Public Class frmNI_SQLTest ' Datenadapter laden DataAdapter = New SqlDataAdapter(Command) ' DataSet mit Daten füllen - MyDataset1.Tables("TBErgebnis").Clear() + MyDataset.Tables("TBErgebnis").Clear() ' DataSet erzeugen Dim DataSet1 = New DataSet() - + ListBox1.Items.Clear() ' DataSet mit Daten füllen DataAdapter.Fill(DataSet1) For Each Row As DataRow In DataSet1.Tables(0).Rows - Dim Row1 As DataRow - Row1 = MyDataset1.Tables("TBErgebnis").NewRow() - 'filling the row with values. Item property is used to set the field value. - Row1.Item("Ergebniswerte") = Row.Item(0) - MyDataset1.Tables("TBErgebnis").Rows.Add(Row1) + ListBox1.Items.Add(Row.Item(0)) Next - Me.BindingSource1.ResumeBinding() + + BindingSource1.DataSource = MyDataset.Tables("TBErgebnis") + 'Me.BindingSource1.ResumeBinding() ' DB-Connection schliessen Me.CloseMssqlDb(Connection) Catch ex As Exception