You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
5.1 KiB

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<65>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, "<NULL>"))
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