' /////////////////////////////////////////////////////////////////////////// ' // Description: Data Access class for the table 'Reporting_Dokumenttyp' ' // Generated by LLBLGen v1.2.1045.38210 Final on: Donnerstag, 30. Januar 2003, 20:31:17 ' // Because the Base Class already implements IDispose, this class doesn't. ' /////////////////////////////////////////////////////////////////////////// Imports System Imports System.IO Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Imports System.ComponentModel Imports UtilityLibrary.Win32 Namespace edokadb ' /// ' /// Purpose: Data Access class for the table 'Reporting_Dokumenttyp'. ' /// Public Class clsReporting_Dokumenttyp Inherits clsDBInteractionBase #Region " Class Member Declarations " Private m_dokumentname As String Private m_dokumentid As String Private m_bUsed As SqlBoolean Private m_iType As SqlInt32 Private m_sDEFFELD, m_sDEFDESC, m_sDEFVALUE, m_sOFBM, m_sID, m_sOFFeld, m_sDEFBME, m_sDEFBMB As SqlString #End Region #Region " Class Property Declarations " 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 Public Property [sID]() As SqlString Get Return m_sID End Get Set(ByVal Value As SqlString) m_sID = Value End Set End Property Public Property [sOFBM]() As SqlString Get Return m_sOFBM End Get Set(ByVal Value As SqlString) m_sOFBM = Value End Set End Property Public Property [sOFFeld]() As SqlString Get Return m_sOFFeld End Get Set(ByVal Value As SqlString) m_sOFFeld = Value End Set End Property Public Property [sDEFBMB]() As SqlString Get Return m_sDEFBMB End Get Set(ByVal Value As SqlString) m_sDEFBMB = Value End Set End Property Public Property [sDEFBME]() As SqlString Get Return m_sDEFBME End Get Set(ByVal Value As SqlString) m_sDEFBME = Value End Set End Property Public Property [sDEFFELD]() As SqlString Get Return m_sDEFFELD End Get Set(ByVal Value As SqlString) m_sDEFFELD = Value End Set End Property Public Property [sDEFDESC]() As SqlString Get Return m_sDEFDESC End Get Set(ByVal Value As SqlString) m_sDEFDESC = Value End Set End Property Public Property [sDEFVALUE]() As SqlString Get Return m_sDEFVALUE End Get Set(ByVal Value As SqlString) m_sDEFVALUE = Value End Set End Property Public Property [iType]() As SqlInt32 Get Return m_iType End Get Set(ByVal Value As SqlInt32) m_iType = Value End Set End Property Public Property [bUsed]() As SqlBoolean Get Return m_bUsed End Get Set(ByVal Value As SqlBoolean) m_bUsed = Value End Set End Property #End Region #Region "Save Reportdocument To DB" Public Function Save_To_DB(ByVal sDokumentID As String, ByVal sDokumentName As String, ByVal DokumentSpaltenname As String, ByVal RowIndex As Integer) As Boolean '=============================================================================== 'Beschr: Einlesen eines Reportfile in die Datenbank 'Input : Dataset ' DokumentNr = Identifikation des Dokument ' Dokumentname(inkl.Pfad) ' DokumentSpaltenname = Spaltenname für das Dokunent ' RowIndex = aktuelle Datasetreihe 'Output: True/False 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Try Me.DokumentID = sDokumentID Me.Dokumentname = sDokumentName Dim Connection As New SqlConnection() Dim DA As New SqlDataAdapter("select * from report where reportNr= " + sDokumentID, Connection) Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) Dim ds As New DataSet() Dim fs As New FileStream(sDokumentName, FileMode.OpenOrCreate, FileAccess.Read) Dim mydata(fs.Length) As Byte Try Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Dokument von Filesystem lesen") fs.Read(mydata, 0, fs.Length) fs.Close() Connection.ConnectionString = Globals.sConnectionString 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") Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Neues Dokument gespeichert") Else 'Bestehendes Dokument sichenr myRow = ds.Tables("docs").Rows(0) myRow.Item("reportfile") = mydata DA.Update(ds, "docs") Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Bestehendes Dokument ersetzt") End If Catch ex As Exception Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Fehler bei der Dokumentspeicherung") MyMsg.show_standardmessage(86, MsgBoxStyle.Critical) ' MsgBox(ex.Message) Return False End Try fs = Nothing cb = Nothing ds = Nothing DA = Nothing Connection.Close() Connection = Nothing Return True Catch Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Fehler bei der Dokumentspeicherung") MyMsg.show_standardmessage(86, MsgBoxStyle.Critical) Return False End Try '--------------------------------------------------------------------------------------- 'Me.DokumentID = sDokumentID 'Me.Dokumentname = sDokumentName 'Dim fs As New FileStream(Me.Dokumentname, FileMode.OpenOrCreate, FileAccess.Read) 'Dim mydata(fs.Length) As Byte 'Try ' '============ Dokument von Filesystem lesen ' Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Report von Filesystem lesen") ' fs.Read(mydata, 0, fs.Length) ' fs.Close() ' Dim myRow As DataRow ' '============ Dokument speichern ' ds.Tables(0).Rows(RowIndex).Item(DokumentSpaltenname) = mydata ' Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Neuer Report gespeichert") 'Catch ex As Exception ' Globals.PerfMon.insert_entry(Me.DokumentID + " ---- Fehler bei der Reportspeicherung") ' MyMsg.show_standardmessage(86, MsgBoxStyle.Critical) ' Return False 'End Try 'fs = Nothing ''ds = Nothing 'Return True End Function #End Region #Region "Get Reportdocument From DB" Public Function Get_DocumentFrom_DB(ByVal DokumentIDSpaltenname As String, ByVal DokumentID As String, ByVal Tabellenname As String, ByVal DokumentSpaltenname As String, ByVal DokumentePfad As String, ByVal DokumentenName As String) As Boolean '=============================================================================== 'Beschr: Liest ein Dokument aus der Datenbank und speichert die auf den Fileserver ' Ein bestehendes File wird überschrieben 'Input : DokumentIDSpaltenname = Spalte für die Identifikation des Dokument ' DokumentID = Eindeutige Identifikation des Dokument ' Tabellenname = Tabell in der das File gespeichert ist ' Spaltenname = Spaltenname in der das Dokument gespeichert ist ' Dokumentenname = Name des Dokumentes inkl. Pfadangaben 'Output: Speicherung erfolgreich True/False 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Me.DokumentID = DokumentID Me.Dokumentname = DokumentenName Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select * From " & Tabellenname & " where " & DokumentIDSpaltenname & " = '" + Me.DokumentID + "'", connection) Dim ds As New DataSet() '=============================================================================== 'Verzeichnisprüffung '=============================================================================== Try If Right(DokumentePfad, 1) <> "\" Then DokumentePfad = DokumentePfad & "\" End If If Not System.IO.Directory.Exists(DokumentePfad) Then System.IO.Directory.CreateDirectory(DokumentePfad) End If Catch ex As Exception MessageBox.Show("Vereichnis " & DokumentePfad & " kann nicht hergestellt werden!", "Verzeichnis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Return False End Try Try 'Connectionstring zur Datenbank connection.ConnectionString = Globals.sConnectionString connection.Open() da.Fill(ds, "Dokument") Dim myRow As DataRow myRow = ds.Tables(0).Rows(0) Dim MyData() As Byte MyData = myRow.Item(DokumentSpaltenname) Dim lCnt As Long lCnt = UBound(MyData) Dim fs As New FileStream(DokumentePfad & DokumentenName, FileMode.OpenOrCreate, FileAccess.Write) fs.Write(MyData, 0, lCnt) fs.Close() fs = Nothing Catch ex As Exception MsgBox(ex.Message) 'If Not DivFnkt.isbck(Me.DokumentID) Then 'MyMsg.show_standardmessage(93, MsgBoxStyle.Critical) 'End If Return False End Try ds = Nothing da = Nothing connection.Close() connection = Nothing Return True End Function 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 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 If Not DivFnkt.isbck(Me.DokumentID) Then MyMsg.show_standardmessage(93, MsgBoxStyle.Critical) End If Return False End Try CB = Nothing ds = Nothing da = Nothing connection.Close() connection = Nothing Return True End Function Public Function Get_layout_from_DB(ByVal profilnr As Integer, ByVal sdokumentname As String) As String Me.Dokumentname = LTrim(Str(profilnr)) + ".lyt" Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("Select * From profillayout where profilnr=" + Str(profilnr), connection) Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da) Dim ds As New DataSet() Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.Fill(ds, "docs") Dim myRow As DataRow myRow = ds.Tables(0).Rows(0) Dim MyData() As Byte If Right(sdokumentname, 8) = "HOST.lyt" Then MyData = myRow.Item(2) Else MyData = myRow.Item(1) End If 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 End Namespace