___ answer17490022 ___

ersetzen

%Vor%

mit

%Vor%

Das Fragezeichen markiert es als Nullwert, und Ihr Leser sollte in der Lage sein, startdate auf null zu setzen, anstatt eine Ausnahme auszulösen.

Sie können auch nach NULL-Werten suchen, während Ihr Leser arbeitet und NULL-Werte durch leere Zeichenfolgen ersetzen

%Vor%     
___ answer17490905 ___

Hier ist eine Hilfsmethode, um den Wert aus dem Leser herauszuholen

%Vor%

Update zur Verwendung als Antwort auf einen Kommentar

%Vor%

Beachten Sie auch, dass Sie %code% und dann %code% verwenden. Wahrscheinlich sollte %code%

sein     
___ qstntxt ___

Ich hasse es fast, diese Frage zu stellen, es scheint, als ob sie schon millionenfach gestellt worden wäre, aber selbst wenn ich die andere Frage recherchiere, kann ich das in meinem Fall immer noch nicht herausfinden.

Ich habe gelesen, dass DateTime ein NULL-fähiger Typ ist, und ich habe ein paar der Beispiele ausprobiert, aber ich versuche herauszufinden, ob in der Datenbank mein SQLDATAREADER fehlerhaft ist.

Fehler

  

System.Data.SqlTypes.SqlNullValueException: Daten sind Null. Diese Methode oder Eigenschaft kann nicht für Nullwerte aufgerufen werden.

DetailsKlasse

%Vor%

DBClass

%Vor%     
___ tag123aspnet ___ ASP.NET ist ein Framework für die Entwicklung von Microsoft-Webanwendungen, mit dem Programmierer dynamische Websites, Webanwendungen und Webdienste erstellen können. Es ist nützlich, dieses Tag in Verbindung mit dem Typ des Projekttyps zu verwenden, z. [asp.net-mvc], [asp.net-webforms] oder [asp.net-web-api]. Verwenden Sie dieses Tag NICHT für Fragen zu ASP.NET Core - verwenden Sie stattdessen [asp.net-core]. ___ answer17490475 ___

Versuchen Sie Folgendes:

Mache die %code% Variable %code% , wie folgt:

%Vor%

Wenn Sie nun den Wert vom Objekt %code% abrufen, müssen Sie die Methode %code% verwenden, die bestimmt, ob der Wert %code% von der Datenbank zurückkommt, wie folgt:

%Vor%

Hinweis: Ich bin mir nicht sicher, wo Sie %code% dem aus der Datenbank gelesenen Wert zuweisen, da dieser im gebuchten Code nicht angezeigt wird. Deshalb habe ich es in meinem Beispiel direkt zugewiesen, aber möglicherweise müssen Sie die Platzierung der Beispiellogik anpassen.

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ answer17491034 ___

Können Sie uns bitte genau sagen, welche Zeile den Fehler beim Debuggen auslöst? Es wäre einfacher.

%Vor%

Es ist nicht erforderlich, NULL explizit zuzuweisen, wenn es DBNull ist, da es ein NULL-fähiger Typ ist und daher standardmäßig null enthält.

Ok, gemäß Ihrem aktualisierten Code (beachten Sie die Kommentare):

%Vor%

Lasst uns es ausführlicher versuchen:

%Vor%     
___

8

Ich hasse es fast, diese Frage zu stellen, es scheint, als ob sie schon millionenfach gestellt worden wäre, aber selbst wenn ich die andere Frage recherchiere, kann ich das in meinem Fall immer noch nicht herausfinden.

Ich habe gelesen, dass DateTime ein NULL-fähiger Typ ist, und ich habe ein paar der Beispiele ausprobiert, aber ich versuche herauszufinden, ob in der Datenbank mein SQLDATAREADER fehlerhaft ist.

Fehler

  

System.Data.SqlTypes.SqlNullValueException: Daten sind Null. Diese Methode oder Eigenschaft kann nicht für Nullwerte aufgerufen werden.

DetailsKlasse

%Vor%

DBClass

%Vor%     
Jay 05.07.2013, 13:22
quelle

4 Antworten

25

Hier ist eine Hilfsmethode, um den Wert aus dem Leser herauszuholen

%Vor%

Update zur Verwendung als Antwort auf einen Kommentar

%Vor%

Beachten Sie auch, dass Sie reader.IsDBNull(1) und dann reader.GetOrdinal verwenden. Wahrscheinlich sollte reader.IsDBNull(reader.GetOrdinal("EMAIL"))

sein     
Bob Vale 05.07.2013, 14:10
quelle
4

ersetzen

%Vor%

mit

%Vor%

Das Fragezeichen markiert es als Nullwert, und Ihr Leser sollte in der Lage sein, startdate auf null zu setzen, anstatt eine Ausnahme auszulösen.

Sie können auch nach NULL-Werten suchen, während Ihr Leser arbeitet und NULL-Werte durch leere Zeichenfolgen ersetzen

%Vor%     
Marco 05.07.2013 13:25
quelle
1

Können Sie uns bitte genau sagen, welche Zeile den Fehler beim Debuggen auslöst? Es wäre einfacher.

%Vor%

Es ist nicht erforderlich, NULL explizit zuzuweisen, wenn es DBNull ist, da es ein NULL-fähiger Typ ist und daher standardmäßig null enthält.

Ok, gemäß Ihrem aktualisierten Code (beachten Sie die Kommentare):

%Vor%

Lasst uns es ausführlicher versuchen:

%Vor%     
Abhitalks 05.07.2013 14:17
quelle
0

Versuchen Sie Folgendes:

Mache die startingDate Variable nullable , wie folgt:

%Vor%

Wenn Sie nun den Wert vom Objekt SqlDataReader abrufen, müssen Sie die Methode IsDbNull verwenden, die bestimmt, ob der Wert NULL von der Datenbank zurückkommt, wie folgt:

%Vor%

Hinweis: Ich bin mir nicht sicher, wo Sie startingDate dem aus der Datenbank gelesenen Wert zuweisen, da dieser im gebuchten Code nicht angezeigt wird. Deshalb habe ich es in meinem Beispiel direkt zugewiesen, aber möglicherweise müssen Sie die Platzierung der Beispiellogik anpassen.

    
Karl Anderson 05.07.2013 13:50
quelle

Tags und Links