123 lines
5.0 KiB
VB.net
123 lines
5.0 KiB
VB.net
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 = ""
|
|
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
|
|
|
|
' 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
|