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.

207 lines
8.3 KiB

Imports System.Data
Imports System.Data.SqlClient
'''<summary>Datenzugriff auf die Tabelle Parameter</summary>
Public Class Parameter
'''<summary>gibt einen einzelnen paramter zurück</summary>
'''<param name="ds">speicher für datenrückgabe</param>
'''<param name="benutzerNr"></param>
'''<param name="name"></param>
Public Shared Sub GetParameter(ByRef ds As DataSet, ByVal benutzerNr As Integer, ByVal name As String)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Dim da As New SqlDataAdapter()
Try
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlCmd.CommandText = "sp_GetParameter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@BenutzerNr", benutzerNr))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
da.SelectCommand = sqlCmd
da.Fill(ds, "Parameter")
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.DA.Parameter.GetParameter", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
Finally
sqlConn.Dispose()
sqlCmd.Dispose()
da.Dispose()
End Try
End Sub
'''<summary>gibt eine liste aller paramter zurück</summary>
'''<param name="ds">speicher für datenrückgabe</param>
'''<param name="aktiv">1 nur aktive; 0 nur inaktive; -1 alle</param>
Public Shared Sub List(ByRef ds As DataSet, ByVal aktiv As Integer)
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Dim da As New SqlDataAdapter()
Try
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlCmd.CommandText = "sp_ListParameter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
If aktiv <> -1 Then
sqlCmd.Parameters.Add(New SqlParameter("@Aktiv", aktiv))
End If
da.SelectCommand = sqlCmd
da.Fill(ds, "Parameters")
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.DA.Parameter.List", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
Finally
sqlConn.Dispose()
sqlCmd.Dispose()
da.Dispose()
End Try
End Sub
'''<summary>erstellt einen neuen parameter</summary>
'''<param name="parameterId">gibt den neuen primary key zurück</param>
'''<param name="benutzerNr"></param>
'''<param name="name"></param>
'''<param name="wert"></param>
'''<param name="datentyp"></param>
'''<param name="beschreibung"></param>
'''<param name="aktiv"></param>
'''<param name="mutiererId"></param>
'''<returns>error</returns>
Public Shared Function Add(ByRef parameterId As Integer, ByVal benutzerNr As Integer, ByVal name As String, ByVal wert As String, _
ByVal datentyp As Integer, ByVal beschreibung As String, ByVal aktiv As Boolean, ByVal mutiererId As Integer) As Integer
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlCmd.CommandText = "sp_InsParameter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@BenutzerNr", benutzerNr))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
sqlCmd.Parameters.Add(New SqlParameter("@Wert", wert))
sqlCmd.Parameters.Add(New SqlParameter("@Datentyp", datentyp))
sqlCmd.Parameters.Add(New SqlParameter("@Beschreibung", beschreibung))
sqlCmd.Parameters.Add(New SqlParameter("@Aktiv", aktiv))
sqlCmd.Parameters.Add(New SqlParameter("@MutiererId", mutiererId))
sqlCmd.Parameters.Add(New SqlParameter("@ParameterId", 0))
sqlCmd.Parameters.Add(New SqlParameter("@Return", DBNull.Value))
sqlCmd.Parameters("@ParameterId").Direction = ParameterDirection.Output
sqlCmd.Parameters("@Return").Direction = ParameterDirection.ReturnValue
sqlConn.Open()
sqlCmd.ExecuteNonQuery()
If CInt(sqlCmd.Parameters("@Return").Value) <> 0 Then
parameterId = CInt(sqlCmd.Parameters("@ParameterId").Value)
End If
Return CInt(sqlCmd.Parameters("@Return").Value)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.DA.Parameter.Add", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
Finally
sqlConn.Dispose()
sqlCmd.Dispose()
End Try
End Function
'''<summary>löscht einen parameter</summary>
'''<param name="benutzerNr"></param>
'''<param name="name"></param>
'''<returns>error</returns>
Public Shared Function Delete(ByVal benutzerNr As Integer, ByVal name As String) As Integer
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlCmd.CommandText = "sp_DelParameter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@BenutzerNr", benutzerNr))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
sqlCmd.Parameters.Add(New SqlParameter("@Return", DBNull.Value))
sqlCmd.Parameters("@Return").Direction = ParameterDirection.ReturnValue
sqlConn.Open()
sqlCmd.ExecuteNonQuery()
Return CInt(sqlCmd.Parameters("@Return").Value)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.DA.Parameter.Delete", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
Finally
sqlConn.Dispose()
sqlCmd.Dispose()
End Try
End Function
'''<summary>aktualisiert einen paramter</summary>
'''<param name="benutzerNr">criterium (keine aktualisierung)</param>
'''<param name="name">criterium (keine aktualisierung)</param>
'''<param name="wert"></param>
'''<param name="datentyp"></param>
'''<param name="beschreibung"></param>
'''<param name="aktiv"></param>
'''<param name="mutiererId"></param>
'''<returns>error</returns>
Public Shared Function Update(ByVal benutzerNr As Integer, ByVal name As String, ByVal wert As String, ByVal datentyp As Integer, _
ByVal beschreibung As String, ByVal aktiv As Boolean, ByVal mutiererId As Integer) As Integer
Dim sqlConn As New SqlConnection()
Dim sqlCmd As New SqlCommand()
Try
sqlConn.ConnectionString = Common.Datenbank.GetDSN()
sqlCmd.CommandText = "sp_SetParameter"
sqlCmd.CommandType = CommandType.StoredProcedure
sqlCmd.Connection = sqlConn
sqlCmd.Parameters.Add(New SqlParameter("@BenutzerNr", benutzerNr))
sqlCmd.Parameters.Add(New SqlParameter("@Name", name))
sqlCmd.Parameters.Add(New SqlParameter("@Wert", wert))
sqlCmd.Parameters.Add(New SqlParameter("@Datentyp", datentyp))
sqlCmd.Parameters.Add(New SqlParameter("@Beschreibung", beschreibung))
sqlCmd.Parameters.Add(New SqlParameter("@Aktiv", aktiv))
sqlCmd.Parameters.Add(New SqlParameter("@MutiererId", mutiererId))
sqlCmd.Parameters.Add(New SqlParameter("@Return", DBNull.Value))
sqlCmd.Parameters("@Return").Direction = ParameterDirection.ReturnValue
sqlConn.Open()
sqlCmd.ExecuteNonQuery()
Return CInt(sqlCmd.Parameters("@Return").Value)
Catch ex As Exception
TKBLib.Errorhandling.TraceHelper.Msg("EDOKALib.DA.Parameter.Update", ex.Message + " " + ex.StackTrace, TraceLevel.Error)
Throw ex
Finally
sqlConn.Dispose()
sqlCmd.Dispose()
End Try
End Function
End Class