Fehler beim Abrufen von Nullen aus SQLDataReader vermeiden
Bei der Arbeit mit SQLDataReader
geht es häufig um den Umgang mit potenziellen Nullwerten in Datenbankspalten. Der direkte Zugriff auf eine Nullspalte als Zeichenfolge führt zu einer Ausnahme. Dieser Artikel zeigt sichere Methoden zur Vermeidung solcher Fehler.
Die IsDBNull
Lösung
Der zuverlässigste Ansatz besteht darin, vor dem Versuch, Daten abzurufen, die Methode IsDBNull
zu verwenden:
<code class="language-csharp">if (!SqlReader.IsDBNull(indexFirstName)) { employee.FirstName = sqlreader.GetString(indexFirstName); }</code>
Diese bedingte Prüfung stellt sicher, dass die Methode GetString
nur aufgerufen wird, wenn die Spalte bei indexFirstName
einen Wert ungleich Null enthält.
Optimierung mit Erweiterungsmethoden
Für saubereren Code erstellen Sie eine Erweiterungsmethode, um Nullprüfungen zu kapseln:
<code class="language-csharp">public static string SafeGetString(this SqlDataReader reader, int colIndex) { return reader.IsDBNull(colIndex) ? string.Empty : reader.GetString(colIndex); }</code>
Diese SafeGetString
-Methode gibt eine leere Zeichenfolge zurück, wenn die Spalte null ist, was den Datenabruf vereinfacht:
<code class="language-csharp">employee.FirstName = SqlReader.SafeGetString(indexFirstName);</code>
Die Implementierung dieser Techniken garantiert einen robusten Datenabruf aus Ihrer SQL-Datenbank mit SQLDataReader
und verhindert Ausnahmen, die durch unerwartete Nullwerte verursacht werden.
Das obige ist der detaillierte Inhalt vonWie kann man Nullwerte sicher behandeln, wenn ein SQLDATAREADER verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!