'DocMgmt Klasse 'Autor: Stefan Hutter, Unternehmensberatung ' '01.04.2003 ' Imports System Imports System.IO Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Public Class DocMgmt #Region "Deklarationen" Dim m_dokumentname As String Dim m_dokumentid As String Property Dokumentname() As String Get Return m_dokumentname End Get Set(ByVal Value As String) m_dokumentname = Value End Set End Property Property DokumentID() As String Get Return m_dokumentid End Get Set(ByVal Value As String) m_dokumentid = Value End Set End Property #End Region #Region "Save" Public Function Save_To_DB(ByVal sDokumentID As String, ByVal sDokumentName As String) As Boolean Me.DokumentID = sDokumentID Me.Dokumentname = sDokumentName Dim Connection As New SqlConnection() Dim DA As New SqlDataAdapter("select * from doks where dokumentid='" + Me.DokumentID + "'", Connection) Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) Dim ds As New DataSet() Dim fs As New FileStream(Me.Dokumentname, FileMode.OpenOrCreate, FileAccess.Read) Dim mydata(fs.Length) As Byte fs.Read(mydata, 0, fs.Length) fs.Close() Try 'Connectionstring zur Datenbank Connection.ConnectionString = Globals.sConnectionString_edoka Connection.Open() DA.Fill(ds, "docs") Dim myRow As DataRow If ds.Tables(0).Rows.Count = 0 Then ' Neues Dokument speichern myRow = ds.Tables(0).NewRow myRow.Item(0) = Me.DokumentID myRow.Item(1) = mydata ds.Tables(0).Rows.Add(myRow) DA.Update(ds, "docs") Else 'Bestehendes Dokument sichenr myRow = ds.Tables(0).Rows(0) myRow.Item(1) = mydata DA.Update(ds, "docs") End If Catch ex As Exception 'MsgBox(ex.Message) Threading.Thread.Sleep(1000) Return False End Try fs = Nothing cb = Nothing ds = Nothing DA = Nothing Connection.Close() Connection = Nothing Return True End Function #End Region Public Function Get_AMS_From_DB(ByVal sdokumentid As String, ByVal sdokumentname As String) As Boolean Me.DokumentID = sDokumentID Me.Dokumentname = sDokumentName Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select * From dokUMENTE where DokumentNR='" + Me.DokumentID + "'", Globals.sConnectionString_ams) Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) Dim ds As New DataSet() Try 'Connectionstring zur Datenbank connection.ConnectionString = Globals.sConnectionString_ams 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(sdokumentname, 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 #Region "Get" Public Function Get_From_DB(ByVal sDokumentID As String, ByVal sDokumentName As String) As Boolean Me.DokumentID = sDokumentID Me.Dokumentname = sDokumentName Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select * From doks where DokumentID='" + Me.DokumentID + "'", connection) Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) Dim ds As New DataSet() Try 'Connectionstring zur Datenbank connection.ConnectionString = Globals.sConnectionString_edoka 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(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 #End Region End Class