Imports System.Data.SqlClient Imports System.Reflection Public Class cSicherheiten Property gsID As Integer Property kennnummer As String Property posNr As Integer Property datum As DateTime Property erstellungsdatum As DateTime Property warenwert As Double Property sicherheitsbetrag As Double Property saldo As Double Property standort As String Property art As String Property gesamtsichNr As Integer Property ust As Integer Property freitext As String Property filialNr As Integer Property abfertigungsNr As String Property LKWID As String Property isATR As String = "" Property warenort As String Public hasEntry = False Dim SQL As New SQL Sub New(GesamtSichID) Me.gsID = gsID LOAD() End Sub Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_gsID", gsID,, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_kennNr", kennnummer)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_posNr", posNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_datum", datum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_erstellungsdatum", erstellungsdatum)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_warenwert", warenwert)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_sicherheitsbetrag", sicherheitsbetrag)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_saldo", saldo)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_standort", standort)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_art", art)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_gsNr", gesamtsichNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_ust", ust)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_freitext", freitext)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_filialNr", filialNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_abfertigungsnr", abfertigungsNr)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_LKWID", LKWID)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_atr", isATR)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gs_warenort", warenort)) Return list End Function Public Function SAVE() As Boolean Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblGesamtsicherheit] WHERE gsID=@GesamtSichID) " & " BEGIN " & getUpdateCmd() & " END " & " Else " & " BEGIN " & getInsertCmd() & " END " & " commit tran " Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list) End Function Public Sub LOAD() Try hasEntry = False Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT * FROM [tblGesamtsicherheit] WHERE gsID=@gsID ", conn) cmd.Parameters.AddWithValue("@gsID", gsID) Dim dr = cmd.ExecuteReader() If dr.Read Then For Each li In getParameterList() Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable) If dr.Item(li.Text) Is DBNull.Value Then propInfo.SetValue(Me, Nothing) Else propInfo.SetValue(Me, dr.Item(li.Text)) End If Next hasEntry = True End If dr.Close() End Using End Using Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) End Try End Sub Public Function getUpdateCmd() As String Try Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim str As String = "" For Each i In list If Not i.isPrimaryParam Then str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," End If Next str = str.Substring(0, str.Length - 1) 'wg. ',' Return (" UPDATE [tblGesamtsicherheit] SET " & str & " WHERE gsID=@gsID ") Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) End Try Return "" End Function Public Function getInsertCmd() As String Try Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim str As String = "" Dim values As String = "" For Each i In list If Not i.isPrimaryParam Then str &= "[" & i.Text & "]," values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," End If Next str = str.Substring(0, str.Length - 1) 'wg. ',' values = values.Substring(0, values.Length - 1) 'wg. ',' Return (" INSERT INTO [tblGesamtsicherheit] (" & str & ") VALUES(" & values & ") ") Catch ex As Exception MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace) End Try Return "" End Function End Class