Ich verwende derzeit einen SQL-Datenleser (in vb.net), um ein Artikelobjekt über eine gespeicherte Prozedur aus einer SQL Server 2008-Datenbank zu extrahieren. Ein Teil dieser Aufgabe umfasst die beiden nachstehend aufgeführten:Wie gebe ich einen Wert an einen sqldatareader zurück, wenn der Wert null ist?
theArticle.Truthfulness = ((myReader.GetInt32(myReader.GetOrdinal("Truthfulness"))))
theArticle.Relevance = ((myReader.GetInt32(myReader.GetOrdinal("Relevance"))))
Mein Problem ist, dass die Wahrhaftigkeit und Relevanz kann einen Nullwert zurückgeben und dies verursacht die Funktion umfallen.
Ich denke, ich verstehe warum. Ich frage nach einem ganzzahligen Wert (getin32) und weil NULL zurückgegeben wird, schlägt es fehl.
Wie passe ich den Nullwert aus der Datenbank an, damit er nicht umfällt?
oder die Ausnahme fangen und damit umgehen – Mark
Ja, könnten Sie das auch tun - aber eine Ausnahme zu vermeiden ist besser als fangen und einen ( –
@marc_s: Vereinbart mit Ihrem Kommentar zu meiner Antwort. Löschen Danke, dass du es klargestellt hast. Ihr Kommentar lautete: "Ich glaube nicht, dass dies funktionieren wird, denn wenn die db-Spalte NULL ist, wird der Aufruf von .GetInt32() mit einer Ausnahme fehlschlagen - Sie erhalten keinen NULL-Wert zurück, den Sie dann in den" ?? "Operator ...." – Mahin