Imports System.IO.File Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports System.ComponentModel Imports System.SystemException Imports System.Threading Public Class clsJournal #Region " Deklarationen" Dim m_protokolltyp As Integer Property ProtokollTyp() As Integer Get Return m_protokolltyp End Get Set(ByVal Value As Integer) m_protokolltyp = Value End Set End Property Dim m_objekt As String Property Objekt() As String Get Return m_objekt End Get Set(ByVal Value As String) m_objekt = Value End Set End Property Dim m_ereignis As String Property Ereignis() As String Get Return m_ereignis End Get Set(ByVal Value As String) m_ereignis = Value End Set End Property Dim m_id As String Property IDBez() As String Get Return m_id End Get Set(ByVal Value As String) m_id = Value End Set End Property #End Region Public Sub Journaleintrag(ByVal typ As Integer, ByVal tablename As String, ByVal keyfeld As String, ByVal keyvalue As String, ByVal ereignis As String, ByVal where As String, ByVal obj As String, ByVal idvalue As String) Dim inpdata As New DataSet Dim i As Integer Dim o As Integer Select Case typ Case 1 Dim inp As New SqlDataAdapter("Select * from " & tablename, Globals.sConnectionString_edoka) inp.Fill(inpdata, "Table1") Case 2 Dim inp As New SqlDataAdapter("select * from " & tablename & where, Globals.sConnectionString_edoka) inp.Fill(inpdata, "Table1") Case 3 Dim inp As New SqlDataAdapter("Select * from " & tablename & " where " & keyfeld & " = " & keyvalue, Globals.sConnectionString_edoka) inp.Fill(inpdata, "Table1") Case Else End Select For i = 0 To inpdata.Tables(0).Rows.Count - 1 For o = 0 To inpdata.Tables(0).Columns.Count - 1 Dim scmCmdToExecute As SqlCommand = New SqlCommand Select Case obj Case "Dokument" scmCmdToExecute.CommandText = "dbo.sp_revisionsjournal_Dokument_insert" Case "Dokument_Status" scmCmdToExecute.CommandText = "dbo.sp_revisionsjournal_Dokument_Status_insert" Case "Dokumentcoldindexwert" scmCmdToExecute.CommandText = "dbo.sp_revisionsjournal_Dokumentcoldindexwert_insert" Case "Statushistory" scmCmdToExecute.CommandText = "dbo.sp_revisionsjournal_Statushistory_insert" Case Else scmCmdToExecute.CommandText = "dbo.SP_Revisionsjournal_Insert" End Select scmCmdToExecute.CommandType = CommandType.StoredProcedure Try 'BUD - 2006.11.22 - Umbau auf weniger Zeichen in der Tabelle, da sowiso nicht benötigt. scmCmdToExecute.Connection = conn_edoka.scoDBConnection conn_edoka.OpenConnection() scmCmdToExecute.Parameters.Add(New SqlParameter("@ereignis", SqlDbType.VarChar, 32, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Left(ereignis, 31))) scmCmdToExecute.Parameters.Add(New SqlParameter("@objekt", SqlDbType.VarChar, 64, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Left(obj, 63))) scmCmdToExecute.Parameters.Add(New SqlParameter("@id", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Left(idvalue, 254))) scmCmdToExecute.Parameters.Add(New SqlParameter("@feld", SqlDbType.VarChar, 64, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Left(inpdata.Tables(0).Columns(o).ColumnName, 63))) If inpdata.Tables(0).Rows(i).Item(o) Is System.DBNull.Value Then scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "")) Else scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Left(CType(inpdata.Tables(0).Rows(i).Item(o), String), 254))) End If scmCmdToExecute.ExecuteNonQuery() conn_edoka.CloseConnection(True) Catch ex As Exception Thread.Sleep(500) Console.WriteLine("Fehler:" + ex.Message) 'BUD - 2006-11-20 ''m_log.Log("clsJournal:Journaleintrag:" & ex.Message & ex.StackTrace, Common.Common.JournalEntryType.Warning) Finally scmCmdToExecute.Dispose() End Try Next Next inpdata.Dispose() End Sub End Class