Imports System.IO Imports System.Data.Sql Imports System.Data.SqlClient Public Class DB Public dsDaten As New DataSet Public dsdaten1 As New DataSet Public dsdatendocm As New DataSet Public dadaten As SqlDataAdapter Public dadatendocm As SqlDataAdapter Dim sql As String Public Function UpdateData(ByVal Dokumentid As String, ByVal Feldwert As String, ByVal insertupdate As Integer, ByVal dokumentinfonr As Integer) As Boolean Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_plugin_dokwert_korrektur" selectcommand.Parameters.Add("@fnkt", SqlDbType.Int, 4) selectcommand.Parameters.Add("@param1", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param2", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param3", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param4", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param5", SqlDbType.VarChar, 255) Dim outputParam0 As SqlParameter = New SqlParameter("@keyvalue", SqlDbType.Int, 4) With { .Direction = ParameterDirection.Output } Dim outputParam1 As SqlParameter = New SqlParameter("@ReturnCode", SqlDbType.Int, 4) With { .Direction = ParameterDirection.Output } selectcommand.Parameters.Add(outputParam0) selectcommand.Parameters.Add(outputParam1) selectcommand.Parameters(0).Value = 2 selectcommand.Parameters(1).Value = Dokumentid selectcommand.Parameters(2).Value = Feldwert selectcommand.Parameters(3).Value = insertupdate selectcommand.Parameters(4).Value = dokumentinfonr selectcommand.Parameters(5).Value = Globals.Mitarbeiternr selectcommand.Parameters(6).Value = 0 selectcommand.Parameters(7).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionstring connection.Open() selectcommand.ExecuteNonQuery() Dim rc As Integer = 0 rc = selectcommand.Parameters("@ReturnCode").Value Dim keyvalue As Integer = 0 keyvalue = selectcommand.Parameters("@Keyvalue").Value If rc <> 0 Then MsgBox("Update für '" + Dokumentid + "' wurde nicht durchgeführt, da mehr als ein Datensätz geändert worden wäre.", vbExclamation) Return False End If For Each r As DataRow In dsDaten.Tables(0).Rows If r.Item("Dokumentid") = Dokumentid Then r.Item("dokumentinfonr") = keyvalue Next Return True Catch ex As Exception MsgBox(ex.Message) Return False Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function Public Function Get_Dokumente(ByVal partnernr As String, dokumentid As String, datum As String, ByVal cbstate As Integer) As Boolean dsDaten.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_plugin_dokwert_korrektur" selectcommand.Parameters.Add("@fnkt", SqlDbType.Int, 4) selectcommand.Parameters.Add("@param1", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param2", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param3", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param4", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@param5", SqlDbType.VarChar, 255) selectcommand.Parameters(0).Value = 1 selectcommand.Parameters(1).Value = partnernr selectcommand.Parameters(2).Value = dokumentid selectcommand.Parameters(3).Value = datum selectcommand.Parameters(4).Value = cbstate selectcommand.Parameters(5).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionstring connection.Open() da.SelectCommand = selectcommand da.Fill(dsDaten, "Dokumente") Return True Catch ex As Exception MsgBox(ex.Message) Return False Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function Sub gaga() Try dsDaten.Clear() sql = "Select * from View_Covid_Mail order by erstelltam desc" dadaten = New SqlDataAdapter(sql, Globals.sConnectionstring) dadaten.Fill(dsDaten, "Dokumente") Catch ex As Exception MsgBox(ex.Message) End Try End Sub Public Function Get_From_DB(ByVal DokumentID As String, ByVal Filename As String) As Boolean 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 = Globals.sConnectionstring connection.Open() da.Fill(ds, "docs") Dim myRow As DataRow myRow = ds.Tables(0).Rows(0) Dim MyData() As Byte MyData = myRow.Item(1) Dim K As Long K = UBound(MyData) Dim fs As New FileStream(Filename, FileMode.OpenOrCreate, FileAccess.Write) fs.Write(MyData, 0, K) fs.Close() fs = Nothing Catch ex As Exception ' MsgBox(ex.Message) Return False End Try CB = Nothing ds = Nothing da = Nothing connection.Close() connection = Nothing Return True End Function End Class Public Class DB_Connection ''' ''' Liest sämtlcihe CFG-Dateien mit dem Namen "Vertragsverwaltung...". Sind meherere Dateien vorhanden, ''' wird ein Auswahldialog zur Datenbank-Selektion angezeigt. ''' Standardmässig wird Vertragsverwaltung.cfg als CFG-Datei benutzt. ''' ''' Die CFG-Datei ist verschlüsselt und wird über die Crypto-Funktionen entschlüsselt. ''' ''' Shared Sub New() Dim path As String = "" Dim fc As Integer = 0 If fc < 2 Then Globals.ConnectionFilename = "edokaconn.cfg" Dim ofile As System.IO.File Dim oread As System.IO.StreamReader oread = ofile.OpenText(ApplicationPath() + "\" + Globals.ConnectionFilename) sConnectionstring = oread.ReadLine sConnectionstring = Crypto.DecryptText(sConnectionstring, "HutterundMueller") sConnectionstring = Left(sConnectionstring, Len(sConnectionstring) - 1) Globals.sConnectionstring = sConnectionstring oread.Close() Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select beschreibung from pluginparameter where pluginparamnr=1", connection) Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) Dim ds As New DataSet() Try connection.ConnectionString = Globals.sConnectionstring connection.Open() da.Fill(ds, "params") path = ds.Tables(0).Rows(0).Item(0) Catch ex As Exception path = "" CB = Nothing End Try ds = Nothing da = Nothing connection.Close() connection = Nothing Globals.ConnectionFilename = "edokaconn.cfg" oread = ofile.OpenText(path + "\" + Globals.ConnectionFilename) sConnectionstring = oread.ReadLine sConnectionstring = Crypto.DecryptText(sConnectionstring, "HutterundMueller") sConnectionstring = Left(sConnectionstring, Len(sConnectionstring) - 1) Globals.sConnectionstring = sConnectionstring oread.Close() End Sub End Class