Hilfsfunktionen zum Umwandeln von Zahlen und Werten
Wenn ich unter vb.net arbeite, erstelle ich oft eine zusätzliche Klasse, in der ich Public Shared Functionen verwende zum Umrechnen von Werten.
Beim Ein und Auslesen von Daten aus Datenbanken ist es immer wieder notwendig, die Zahlen gegen null, leer und DBNull zu prüfen. Mit diesen kleinen Zusatz kann man das recht gut machen.
Sicher müsste man manche Functionen verbessern, aber als kleiner Funktionsrumpf sind die Funktionen immer sinnvoll.
Der Aufruf erfolgt dann immer wie
dim intTest as Integer = dbLong(datenbankwert)
hier die Zusatz klasse als Code-Beispiel
Imports System.Data.SqlClient
Public Class clsDB
'===================================< Konvertieren >===================================
Public Shared Function dbLong(ByVal vVal As Object) As Long
Dim lngReturn As Long
If System.Convert.IsDBNull(vVal) Then vVal = 0
If vVal Like "" Then vVal = 0
lngReturn = CLng(vVal)
Return lngReturn
End Function
Public Shared Function dbText(ByVal varWert As Object) As String
Dim sReturn As String = ""
Try
If System.Convert.IsDBNull(varWert) Then
varWert = ""
ElseIf varWert Is Nothing Then
varWert = ""
Else
sReturn = CStr(varWert)
End If
Catch ex As Exception
sReturn = ""
End Try
Return sReturn
End Function
|
#Region "Konvertieren Zahlentyp"
Public Shared Function dbDouble(ByVal vVal As Object, Optional ByVal bKommaZuPunkt As Boolean = False, Optional ByVal bNull_Minus1 As Boolean = False) As Double
'< optional umwandlung >
If System.Convert.IsDBNull(vVal) Then
vVal = -1
End If
'*komma zu punkt
If bKommaZuPunkt = True Then
vVal = Replace(vVal, ",", ".")
End If
'</ optional umwandlung >
Dim dblReturn As Double = 0
dblReturn = CDbl(vVal)
Return dblReturn
End Function
|
Public Shared Function dbDate(ByVal varWert As Object) As Date
If System.Convert.IsDBNull(varWert) Then
varWert = Nothing 'früher NULL
Else
varWert = CDate(varWert)
End If
Return varWert
End Function
Public Shared Function dbBool(ByVal vVal As Object) As Boolean
If System.Convert.IsDBNull(vVal) Then
vVal = False
ElseIf vVal Is Nothing Then
vVal = False
Else
vVal = CBool(vVal)
End If
Return vVal
End Function
|
Public Shared Function dbWaehrung(ByVal vVal As Object, Optional ByVal bKommaZuPunkt As Boolean = False) As Double
Dim dblWert As Double = dbDouble(vVal, bKommaZuPunkt)
dblWert = FormatNumber(dblWert, 2)
Dim dblReturn As Double = 0
If Not System.Convert.IsDBNull(vVal) Then dblReturn = dblWert
Return dblReturn
End Function
|
Public Shared Function dbWaehrungString(ByVal vVal As Object, Optional ByVal bMitKomma As Boolean = True, Optional ByVal bKommaZuPunkt As Boolean = False) As String
Dim dblWert As Double = dbWaehrung(vVal, bKommaZuPunkt)
Dim sReturn As String = FormatNumber(dblWert, 2, TriState.False, TriState.False, TriState.False)
If bMitKomma = True Then
sReturn = Replace(sReturn, ".", ",")
End If
Return sReturn
End Function
|