Imports System.Data.SqlClient Imports System.Data.SqlDbType Imports System.IO Public Class clsdb Dim m_connectionstring As String Property Connectionstring As String Get Return m_connectionstring End Get Set(value As String) m_connectionstring = value End Set End Property Public dsdaten As New DataSet Public dadaten As SqlDataAdapter Dim sql As String Sub New() Dim ConnectionFilename As String = "edokaconn.cfg" Dim path As String = "" Dim fc As Integer = 0 Dim ofile As System.IO.File Dim oread As System.IO.StreamReader Dim sConnectionstring As String oread = ofile.OpenText(ApplicationPath() + "\" + ConnectionFilename) sConnectionstring = oread.ReadLine sConnectionstring = Crypto.DecryptText(sConnectionstring, "HutterundMueller") sConnectionstring = Left(sConnectionstring, Len(sConnectionstring) - 1) sConnectionstring = sConnectionstring oread.Close() Me.Connectionstring = sConnectionstring End Sub Public Function get_dokumente_from_parter(ByVal Partnernr As Integer, ByRef dbgrid As C1.Win.C1TrueDBGrid.C1TrueDBGrid) dsdaten.Tables.Clear() dbgrid.DataSource = Nothing Exec_sp_(1, Partnernr) dbgrid.DataSource = dsdaten.Tables(0) dbgrid.DataMember = dsdaten.Tables(0).TableName For Each c As DataColumn In dsdaten.Tables(0).Columns dbgrid.Splits(0).DisplayColumns(c.ColumnName).AutoSize() Next dbgrid.AllowAddNew = False dbgrid.AllowUpdate = False End Function Public Function get_dokumente_from_dokumentid(ByVal dokumentid As String, ByRef dbgrid As C1.Win.C1TrueDBGrid.C1TrueDBGrid) dsdaten.Tables.Clear() dbgrid.DataSource = Nothing Exec_sp_(2, dokumentid) dbgrid.DataSource = dsdaten.Tables(0) dbgrid.DataMember = dsdaten.Tables(0).TableName For Each c As DataColumn In dsdaten.Tables(0).Columns dbgrid.Splits(0).DisplayColumns(c.ColumnName).AutoSize() Next dbgrid.AllowAddNew = False dbgrid.AllowUpdate = False End Function Public Function Get_Dokumenttyp() Exec_sp_(3) Return dsdaten.Tables(0).Rows(0).Item(0) End Function Public Function Update_Email(ByVal Dokumentid As String, ByVal Key As Integer, ByVal manr As Integer, ByVal email As String) Exec_sp_(10, Dokumentid, Key, manr, email) MsgBox("Daten wurden gespeichernt.", vbInformation) End Function Public Function Insert_Email(ByVal Dokumentid As String, ByVal Key As Integer, ByVal manr As Integer, ByVal email As String) Exec_sp_(11, Dokumentid, Key, manr, email) MsgBox("Neur Datensatz wurden gespeichernt.", vbInformation) End Function Public Function Exec_sp_(fnkt As Integer, Optional param1 As String = "", Optional param2 As String = "", Optional param3 As String = "", Optional param4 As String = "", Optional param5 As String = "", Optional param6 As String = "", Optional param7 As String = "", Optional param8 As String = "", Optional param9 As String = "") As String Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim conn As New SqlConnection(Connectionstring) scmCmdToExecute.CommandText = "dbo.sp_emailerklaerung" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.Connection = conn Try scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param1)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param2", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param2)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param3", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param3)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param4", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param4)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param5", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param5)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param6", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param6)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param7", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param7)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param8", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param8)) scmCmdToExecute.Parameters.Add(New SqlParameter("@param9", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param9)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Retvalue", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) conn.Open() Select Case fnkt Case 1, 2, 3, 4 sdaAdapter.Fill(dsdaten, "Jobstatus") Return "" Case Else scmCmdToExecute.ExecuteNonQuery() End Select Catch ex As Exception MsgBox("EMail-Erklärung_fnkt_1::" & scmCmdToExecute.CommandText + "::" + ex.Message) Return "" Finally conn.Close() scmCmdToExecute.Dispose() sdaAdapter.Dispose() dtToReturn.Dispose() End Try End Function Public Function get_colddokumentid(ByVal dokumentid As String, ByVal fnkt As Integer) As String Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim conn As New SqlConnection(Connectionstring) scmCmdToExecute.CommandText = "dbo.sp_get_colddokumentid" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.Connection = conn Try scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid)) scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt)) scmCmdToExecute.Parameters.Add(New SqlParameter("@colddokumentid", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) scmCmdToExecute.Parameters.Add(New SqlParameter("@coldpartnernr", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, "")) sdaAdapter.Fill(dtToReturn) get_colddokumentid = scmCmdToExecute.Parameters("@colddokumentid").Value Catch ex As Exception MsgBox("Status Dokumentbearbeitung::" & scmCmdToExecute.CommandText + "::" + ex.Message) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() dtToReturn.Dispose() End Try End Function Public Function Get_From_DB(ByVal sDokumentID As String, ByVal sDokumentName As String, Optional ByRef DokType As String = "") As Boolean Dim dokumentid As String Dim dokumentname As String dokumentid = sDokumentID dokumentname = sDokumentName Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select * From doks where DokumentID='" + dokumentid + "'", connection) Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) Dim ds As New DataSet() Try 'Connectionstring zur Datenbank connection.ConnectionString = Me.Connectionstring connection.Open() da.Fill(ds, "docs") 'Versuchen, ob es sich um ein EDKIMP-Dokument handelt - Rel. 3.73 SHU Dim myRow As DataRow myRow = ds.Tables(0).Rows(0) Dim MyData() As Byte MyData = myRow.Item(1) 'If myRow.Item(2).ToString = "" Then DokType = ".doc" Else DokType = myRow.Item(2) Dim K As Long K = UBound(MyData) Dim fs As New FileStream(sDokumentName, FileMode.OpenOrCreate, FileAccess.Write) fs.Write(MyData, 0, K) fs.Close() fs = Nothing Catch ex As Exception Return False End Try CB = Nothing ds = Nothing da = Nothing connection.Close() connection = Nothing Return True End Function Public Function Journal_Dokumentzugriff(ByVal dokumentid As String, ByVal zugriffsart As String, ByVal host As Integer, ByVal partnernr As Integer, ByVal partner_kurzbezeichnung As String, ByVal dokumenttyp As String) Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim i As Integer Dim connopen As Boolean = False scmCmdToExecute.CommandText = "dbo.sp_journal_dokzugriffe" scmCmdToExecute.CommandType = CommandType.StoredProcedure Dim conn As New SqlConnection(Connectionstring) scmCmdToExecute.Connection = conn Try If host = 0 Then scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@zugriffsart", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, zugriffsart)) scmCmdToExecute.Parameters.Add(New SqlParameter("@host", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0)) scmCmdToExecute.Parameters.Add(New SqlParameter("@partnernr", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "")) scmCmdToExecute.Parameters.Add(New SqlParameter("@partnerkbez", SqlDbType.VarChar, 35, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, "")) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 128, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, "")) Else scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@zugriffsart", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, zugriffsart)) scmCmdToExecute.Parameters.Add(New SqlParameter("@host", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1)) scmCmdToExecute.Parameters.Add(New SqlParameter("@partnernr", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, partnernr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@partnerkbez", SqlDbType.VarChar, 35, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, partner_kurzbezeichnung)) scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 128, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, dokumenttyp)) End If Try scmCmdToExecute.Connection.Open() connopen = True Catch End Try scmCmdToExecute.ExecuteNonQuery() If connopen Then Try scmCmdToExecute.Connection.Close() Catch End Try End If Catch ex As Exception Finally scmCmdToExecute.Dispose() End Try End Function End Class