Imports System.Reflection Public Class cEintrag Property rubrik As String = "" Property Titel As String = "" Property Info As String = "" Property Link As String = "" Property Benutzer As String = "" Property Passwort As String = "" Property Linked As Boolean = False Property LinkedWith As String = "" Property ID As String = "" Property Berechtigung As String = "" Property NewID As Boolean = False Function getparameterlist() As List(Of SQLVariable) Dim list As New List(Of SQLVariable) list.Add(New SQLVariable("rubrik", rubrik)) list.Add(New SQLVariable("Titel", Titel)) list.Add(New SQLVariable("Info", Info)) list.Add(New SQLVariable("Link", Link)) list.Add(New SQLVariable("Benutzer", Benutzer)) list.Add(New SQLVariable("Passwort", Passwort)) list.Add(New SQLVariable("Linked", Linked)) list.Add(New SQLVariable("LinkedWith", LinkedWith)) list.Add(New SQLVariable("ID", ID)) Return list End Function Public Function getFromSQL() '(ip As String) Dim ds As New DataSet Dim test As String = "" Try SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE ID = '" & Me.ID & "'", ds) If ds.Tables(0).Rows.Count > 0 Then For Each c As DataColumn In ds.Tables(0).Columns Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName) If propInfo IsNot Nothing Then If Not IsDBNull(c.Table.Rows(0).Item(c)) Then propInfo.SetValue(Me, c.Table.Rows(0).Item(c)) End If End If Next Else ds.Clear() SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'", ds) For Each c As DataColumn In ds.Tables(0).Columns Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName) If propInfo IsNot Nothing Then If Not IsDBNull(c.Table.Rows(0).Item(c)) Then propInfo.SetValue(Me, c.Table.Rows(0).Item(c)) End If End If Next Me.ID = Guid.NewGuid().ToString("N") : NewID = True End If Catch Return -1 End Try ' MsgBox("hier") End Function Public Function Save() If checkExist() = False Then '----------------------------------------neuer Eintrag '' (Spalten, Spalten, ...) VALUES (Werte, Werte, ...) Me.ID = Guid.NewGuid().ToString("N") Dim Spalten As String = "" Dim Werte As String = "" Dim InsertString As String = "" Dim List As List(Of SQLVariable) = getparameterlist() For Each i In List Spalten &= i.SQLText & "," Werte &= "'" & i.SQLValue & "'," Next Spalten = Spalten.Substring(0, Spalten.Length - 1) Werte = Werte.Substring(0, Werte.Length - 1) SQL.InsertSQL("TbL_Allgemein", "(" & Spalten & ") VALUES (" & Werte & ")") ElseIf checkExist() And NewID = True Then ''----------------------------------------bestehender Eintrag ohne ID Dim UpdateString As String = "" Dim WhereString As String = "" Dim list As List(Of SQLVariable) = getparameterlist() For Each i In list 'If Not i.SQLText = "EssenCreateDate" Then UpdateString &= "[" & i.SQLText & "]='" & i.SQLValue & "'," 'End If Next UpdateString = UpdateString.Substring(0, UpdateString.Length - 1) 'wg. ',' SQL.UpdateSQL("TbL_Allgemein", UpdateString, "Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'") NewID = False ElseIf checkExist() And NewID = False Then ''----------------------------------------bestehender Eintrag mit bestehender ID Dim UpdateString As String = "" Dim WhereString As String = "" Dim list As List(Of SQLVariable) = getparameterlist() For Each i In list If Not i.SQLText = "ID" Then UpdateString &= "[" & i.SQLText & "]='" & i.SQLValue & "'," End If Next UpdateString = UpdateString.Substring(0, UpdateString.Length - 1) 'wg. ',' SQL.UpdateSQL("TbL_Allgemein", UpdateString, "ID = '" & ID & "'") End If End Function Function checkExist() '(ByVal ip As String) Dim ds As New DataSet SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE ID = '" & Me.ID & "'", ds) If ds.Tables(0).Rows.Count > 0 Then Return True Else ds.Clear() SQL.SQL2DS("SELECT * FROM TbL_Allgemein WHERE Rubrik = '" & rubrik & "' AND Titel = '" & Titel & "'", ds) If ds.Tables(0).Rows.Count > 0 Then Return True Else Return False End If End If End Function End Class