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.
99 lines
2.5 KiB
99 lines
2.5 KiB
'''<summary>diese klasse ersetzt null values durch den parameter 'NullReplaceValue' von der parameter tabelle</summary>
|
|
'''Achtung! dies funktioniert nicht mit allen daten typen! zur zeit ist der replace wert = -5648945
|
|
'''dies heisst, dass sämtliche unsigned, binary, Datums und boolean-Datentypen nicht unterstützt werden.
|
|
'''gut nachdenken befor neue datentypen hier eingetragen werden!
|
|
Public Class NullHandler
|
|
Public Shared _nullReplacerInt As Integer
|
|
Public Shared _nullReplacerStr As String
|
|
|
|
|
|
Shared Sub New()
|
|
_nullReplacerInt = Integer.Parse(Config.GetParameterValue("NullReplaceValue"))
|
|
_nullReplacerStr = Config.GetParameterValue("NullReplaceValue")
|
|
End Sub
|
|
|
|
Public Shared Function CToInt16(ByVal o As Object) As Int16
|
|
If o Is System.DBNull.Value Then
|
|
Return CShort(_nullReplacerInt)
|
|
Else
|
|
If TypeOf o Is Int16 Then
|
|
Return CShort(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToInt32(ByVal o As Object) As Int32
|
|
If o Is System.DBNull.Value Then
|
|
Return _nullReplacerInt
|
|
Else
|
|
If TypeOf o Is Int32 Then
|
|
Return CInt(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToInt64(ByVal o As Object) As Int64
|
|
If o Is System.DBNull.Value Then
|
|
Return CLng(_nullReplacerInt)
|
|
Else
|
|
If TypeOf o Is Int64 Then
|
|
Return CLng(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToSingle(ByVal o As Object) As Single
|
|
If o Is System.DBNull.Value Then
|
|
Return CSng(_nullReplacerInt)
|
|
Else
|
|
If TypeOf o Is Single Then
|
|
Return CSng(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToDouble(ByVal o As Object) As Double
|
|
If o Is System.DBNull.Value Then
|
|
Return CDbl(_nullReplacerInt)
|
|
Else
|
|
If TypeOf o Is Double Then
|
|
Return CDbl(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToDecimal(ByVal o As Object) As Decimal
|
|
If o Is System.DBNull.Value Then
|
|
Return CDec(_nullReplacerInt)
|
|
Else
|
|
If TypeOf o Is Decimal Then
|
|
Return CDec(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Shared Function CToString(ByVal o As Object) As String
|
|
If o Is System.DBNull.Value Then
|
|
Return _nullReplacerStr
|
|
Else
|
|
If TypeOf o Is String Then
|
|
Return CStr(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
'''<summary>spezialfall wird auf DateTime.MinValue gesetzt</summary>
|
|
'''<param name="o"></param>
|
|
|
|
Public Shared Function CToDateTime(ByVal o As Object) As DateTime
|
|
If o Is System.DBNull.Value Then
|
|
Return DateTime.MinValue
|
|
Else
|
|
If TypeOf o Is DateTime Then
|
|
Return CDate(o)
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
End Class
|