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.
442 lines
17 KiB
442 lines
17 KiB
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
|
|
Namespace DB
|
|
Public Class clsKB
|
|
Inherits clsDBInteractionBase
|
|
|
|
#Region " Class Member Declarations "
|
|
|
|
Private m_bAktiv As SqlBoolean
|
|
Private m_daGueltig_ab, m_daGueltig_bis, m_daErstellt_am, m_daMutiert_am As SqlDateTime
|
|
Private m_iMutierer, m_iKBNummer As SqlInt32
|
|
Private m_sBeschreibung, m_sTitel, m_sBotschaft_Text, m_sSuchbegriffe As SqlString
|
|
|
|
#End Region
|
|
|
|
|
|
Public Sub New()
|
|
' // Nothing for now.
|
|
End Sub
|
|
|
|
|
|
Overrides Public Function Insert() As Boolean
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[pr_KB_Insert]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
|
' // Use base class' connection object
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sBotschaft_Text", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBotschaft_Text))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer))
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
|
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Open connection.
|
|
m_scoMainConnection.Open()
|
|
Else
|
|
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
|
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
|
End If
|
|
End If
|
|
|
|
' // Execute query.
|
|
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery()
|
|
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
|
|
|
If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then
|
|
' // Throw error.
|
|
Throw New Exception("Stored Procedure 'pr_KB_Insert' reported the ErrorCode: " & m_iErrorCode.ToString())
|
|
End If
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Throw New Exception("clsKB::Insert::Error occured.", ex)
|
|
Finally
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Close connection.
|
|
m_scoMainConnection.Close()
|
|
End If
|
|
scmCmdToExecute.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Overrides Public Function Update() As Boolean
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[pr_KB_Update]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
|
' // Use base class' connection object
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sTitel", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sTitel))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sBeschreibung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBeschreibung))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sSuchbegriffe", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sSuchbegriffe))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_ab", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_ab))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daGueltig_bis", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daGueltig_bis))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@sBotschaft_Text", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_sBotschaft_Text))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@baktiv", SqlDbType.Bit, 1, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_bAktiv))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@daerstellt_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daErstellt_am))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@damutiert_am", SqlDbType.DateTime, 8, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, m_daMutiert_am))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@imutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, m_iMutierer))
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
|
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Open connection.
|
|
m_scoMainConnection.Open()
|
|
Else
|
|
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
|
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
|
End If
|
|
End If
|
|
|
|
' // Execute query.
|
|
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery()
|
|
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
|
|
|
If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then
|
|
' // Throw error.
|
|
Throw New Exception("Stored Procedure 'pr_KB_Update' reported the ErrorCode: " & m_iErrorCode.ToString())
|
|
End If
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Throw New Exception("clsKB::Update::Error occured.", ex)
|
|
Finally
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Close connection.
|
|
m_scoMainConnection.Close()
|
|
End If
|
|
scmCmdToExecute.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Overrides Public Function Delete() As Boolean
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[pr_KB_Delete]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
|
|
' // Use base class' connection object
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer))
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
|
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Open connection.
|
|
m_scoMainConnection.Open()
|
|
Else
|
|
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
|
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
|
End If
|
|
End If
|
|
|
|
' // Execute query.
|
|
m_iRowsAffected = scmCmdToExecute.ExecuteNonQuery()
|
|
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
|
|
|
If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then
|
|
' // Throw error.
|
|
Throw New Exception("Stored Procedure 'pr_KB_Delete' reported the ErrorCode: " & m_iErrorCode.ToString())
|
|
End If
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Throw New Exception("clsKB::Delete::Error occured.", ex)
|
|
Finally
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Close connection.
|
|
m_scoMainConnection.Close()
|
|
End If
|
|
scmCmdToExecute.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Overrides Public Function SelectOne() As DataTable
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[pr_KB_SelectOne]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim dtToReturn As DataTable = new DataTable("KB")
|
|
Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute)
|
|
|
|
' // Use base class' connection object
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iKBNummer", SqlDbType.Int, 4, ParameterDirection.Input, False, 10, 0, "", DataRowVersion.Proposed, m_iKBNummer))
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
|
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Open connection.
|
|
m_scoMainConnection.Open()
|
|
Else
|
|
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
|
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
|
End If
|
|
End If
|
|
|
|
' // Execute query.
|
|
sdaAdapter.Fill(dtToReturn)
|
|
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
|
|
|
If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then
|
|
' // Throw error.
|
|
Throw New Exception("Stored Procedure 'pr_KB_SelectOne' reported the ErrorCode: " & m_iErrorCode.ToString())
|
|
End If
|
|
|
|
If dtToReturn.Rows.Count > 0 Then
|
|
m_iKBNummer = New SqlInt32(CType(dtToReturn.Rows(0)("KBNummer"), Integer))
|
|
If dtToReturn.Rows(0)("Titel") Is System.DBNull.Value Then
|
|
m_sTitel = SqlString.Null
|
|
Else
|
|
m_sTitel = New SqlString(CType(dtToReturn.Rows(0)("Titel"), String))
|
|
End If
|
|
If dtToReturn.Rows(0)("Beschreibung") Is System.DBNull.Value Then
|
|
m_sBeschreibung = SqlString.Null
|
|
Else
|
|
m_sBeschreibung = New SqlString(CType(dtToReturn.Rows(0)("Beschreibung"), String))
|
|
End If
|
|
If dtToReturn.Rows(0)("Suchbegriffe") Is System.DBNull.Value Then
|
|
m_sSuchbegriffe = SqlString.Null
|
|
Else
|
|
m_sSuchbegriffe = New SqlString(CType(dtToReturn.Rows(0)("Suchbegriffe"), String))
|
|
End If
|
|
If dtToReturn.Rows(0)("Gueltig_ab") Is System.DBNull.Value Then
|
|
m_daGueltig_ab = SqlDateTime.Null
|
|
Else
|
|
m_daGueltig_ab = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_ab"), Date))
|
|
End If
|
|
If dtToReturn.Rows(0)("Gueltig_bis") Is System.DBNull.Value Then
|
|
m_daGueltig_bis = SqlDateTime.Null
|
|
Else
|
|
m_daGueltig_bis = New SqlDateTime(CType(dtToReturn.Rows(0)("Gueltig_bis"), Date))
|
|
End If
|
|
If dtToReturn.Rows(0)("Botschaft_Text") Is System.DBNull.Value Then
|
|
m_sBotschaft_Text = SqlString.Null
|
|
Else
|
|
m_sBotschaft_Text = New SqlString(CType(dtToReturn.Rows(0)("Botschaft_Text"), String))
|
|
End If
|
|
If dtToReturn.Rows(0)("aktiv") Is System.DBNull.Value Then
|
|
m_bAktiv = SqlBoolean.Null
|
|
Else
|
|
m_bAktiv = New SqlBoolean(CType(dtToReturn.Rows(0)("aktiv"), Boolean))
|
|
End If
|
|
If dtToReturn.Rows(0)("erstellt_am") Is System.DBNull.Value Then
|
|
m_daErstellt_am = SqlDateTime.Null
|
|
Else
|
|
m_daErstellt_am = New SqlDateTime(CType(dtToReturn.Rows(0)("erstellt_am"), Date))
|
|
End If
|
|
If dtToReturn.Rows(0)("mutiert_am") Is System.DBNull.Value Then
|
|
m_daMutiert_am = SqlDateTime.Null
|
|
Else
|
|
m_daMutiert_am = New SqlDateTime(CType(dtToReturn.Rows(0)("mutiert_am"), Date))
|
|
End If
|
|
If dtToReturn.Rows(0)("mutierer") Is System.DBNull.Value Then
|
|
m_iMutierer = SqlInt32.Null
|
|
Else
|
|
m_iMutierer = New SqlInt32(CType(dtToReturn.Rows(0)("mutierer"), Integer))
|
|
End If
|
|
End If
|
|
Return dtToReturn
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Throw New Exception("clsKB::SelectOne::Error occured.", ex)
|
|
Finally
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Close connection.
|
|
m_scoMainConnection.Close()
|
|
End If
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Overrides Public Function SelectAll() As DataTable
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.[pr_KB_SelectAll]"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim dtToReturn As DataTable = new DataTable("KB")
|
|
Dim sdaAdapter As SqlDataAdapter = new SqlDataAdapter(scmCmdToExecute)
|
|
|
|
' // Use base class' connection object
|
|
scmCmdToExecute.Connection = m_scoMainConnection
|
|
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(new SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
|
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Open connection.
|
|
m_scoMainConnection.Open()
|
|
Else
|
|
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
|
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
|
End If
|
|
End If
|
|
|
|
' // Execute query.
|
|
sdaAdapter.Fill(dtToReturn)
|
|
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
|
|
|
If Not m_iErrorCode.Equals(New SqlInt32(LLBLError.AllOk)) Then
|
|
' // Throw error.
|
|
Throw New Exception("Stored Procedure 'pr_KB_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString())
|
|
End If
|
|
|
|
Return dtToReturn
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Throw New Exception("clsKB::SelectAll::Error occured.", ex)
|
|
Finally
|
|
If m_bMainConnectionIsCreatedLocal Then
|
|
' // Close connection.
|
|
m_scoMainConnection.Close()
|
|
End If
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
|
|
#Region " Class Property Declarations "
|
|
|
|
Public Property [iKBNummer]() As SqlInt32
|
|
Get
|
|
Return m_iKBNummer
|
|
End Get
|
|
Set(ByVal Value As SqlInt32)
|
|
Dim iKBNummerTmp As SqlInt32 = Value
|
|
If iKBNummerTmp.IsNull Then
|
|
Throw New ArgumentOutOfRangeException("iKBNummer", "iKBNummer can't be NULL")
|
|
End If
|
|
m_iKBNummer = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [sTitel]() As SqlString
|
|
Get
|
|
Return m_sTitel
|
|
End Get
|
|
Set(ByVal Value As SqlString)
|
|
m_sTitel = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [sBeschreibung]() As SqlString
|
|
Get
|
|
Return m_sBeschreibung
|
|
End Get
|
|
Set(ByVal Value As SqlString)
|
|
m_sBeschreibung = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [sSuchbegriffe]() As SqlString
|
|
Get
|
|
Return m_sSuchbegriffe
|
|
End Get
|
|
Set(ByVal Value As SqlString)
|
|
m_sSuchbegriffe = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [daGueltig_ab]() As SqlDateTime
|
|
Get
|
|
Return m_daGueltig_ab
|
|
End Get
|
|
Set(ByVal Value As SqlDateTime)
|
|
m_daGueltig_ab = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [daGueltig_bis]() As SqlDateTime
|
|
Get
|
|
Return m_daGueltig_bis
|
|
End Get
|
|
Set(ByVal Value As SqlDateTime)
|
|
m_daGueltig_bis = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [sBotschaft_Text]() As SqlString
|
|
Get
|
|
Return m_sBotschaft_Text
|
|
End Get
|
|
Set(ByVal Value As SqlString)
|
|
m_sBotschaft_Text = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [bAktiv]() As SqlBoolean
|
|
Get
|
|
Return m_bAktiv
|
|
End Get
|
|
Set(ByVal Value As SqlBoolean)
|
|
m_bAktiv = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [daErstellt_am]() As SqlDateTime
|
|
Get
|
|
Return m_daErstellt_am
|
|
End Get
|
|
Set(ByVal Value As SqlDateTime)
|
|
m_daErstellt_am = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [daMutiert_am]() As SqlDateTime
|
|
Get
|
|
Return m_daMutiert_am
|
|
End Get
|
|
Set(ByVal Value As SqlDateTime)
|
|
m_daMutiert_am = Value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property [iMutierer]() As SqlInt32
|
|
Get
|
|
Return m_iMutierer
|
|
End Get
|
|
Set(ByVal Value As SqlInt32)
|
|
m_iMutierer = Value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
End Class
|
|
End Namespace
|