Moin,
ich stelle derzeit einige Funktionen um, um endlich vom Microsoft.Visualbasic los zu kommen.
Dabei bin ich jetzt bei IsDBNull angekommen.
Hier mal ein Auszug meiner Funktion
Oft kommt es vor, dass aus der Datenbank geladene Daten Null Werte beinhalten, wodurch es beim einfachen Einlesen über ...
... knallt, wenn kein Datum im Feld steht. Darum die Funktion, welche bei Null Werten zumindest einen Standardwert zurückgibt.
Diese Funktion habe ich mir für alle möglichen Datentypen erstellt, nicht nur Date.
Die Frage wäre jetzt, da dass IsDBNull rausfliegt, ob der Weg über DBNull.Value.Equals(...) richtig ist, oder ob es da einen Besseren gibt?
Freundliche Grüße und ein schönes Wochenende
*Topic verschoben*
ich stelle derzeit einige Funktionen um, um endlich vom Microsoft.Visualbasic los zu kommen.
Dabei bin ich jetzt bei IsDBNull angekommen.
Hier mal ein Auszug meiner Funktion
VB.NET-Quellcode
- Public Shared Function GetValue(ByVal Row As DataRow,
- ByVal ColumnName As String,
- ByVal ErrorValue As Date) As Date
- UsingCount += 1
- Const CurrentFunction As String = NameOf(XData) & "." & NameOf(GetValue) & "_" & "Date"
- If Row Is Nothing Then Return ErrorValue
- If ColumnName = Nothing Then Return ErrorValue
- If Not Row.Table.Columns.Contains(ColumnName) Then
- MessageBox.Show("Die Spalte " & Cnst.Escape & ColumnName & Cnst.Escape & " ist in der angegebenen " & "DataRow" & " nicht vorhanden.", CurrentFunction, MessageBoxButtons.OK, MessageBoxIcon.Error)
- Return ErrorValue
- End If
- 'Neu
- If DBNull.Value.Equals(Row.Item(ColumnName)) Then
- Return ErrorValue
- Else
- Return Date.Parse(Row.Item(ColumnName).ToString)
- End If
- 'Alt
- If IsDBNull(Row.Item(ColumnName)) Then
- Return ErrorValue
- Else
- Return CType(Row.Item(ColumnName), Date)
- End If
- End Function
Oft kommt es vor, dass aus der Datenbank geladene Daten Null Werte beinhalten, wodurch es beim einfachen Einlesen über ...
... knallt, wenn kein Datum im Feld steht. Darum die Funktion, welche bei Null Werten zumindest einen Standardwert zurückgibt.
Diese Funktion habe ich mir für alle möglichen Datentypen erstellt, nicht nur Date.
Die Frage wäre jetzt, da dass IsDBNull rausfliegt, ob der Weg über DBNull.Value.Equals(...) richtig ist, oder ob es da einen Besseren gibt?
Freundliche Grüße und ein schönes Wochenende
*Topic verschoben*
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()