ExecuteScalar call throwing exception "Objektverweis nicht auf eine Instanz eines Objekts gesetzt"

8

Beim Debuggen der folgenden Methode in einem Komponententest bekomme ich den folgenden Fehler

  

Objektverweis nicht auf eine Instanz eines Objekts gesetzt

beim Treffen der folgenden Zeile

%Vor%

Die Methode ist

%Vor%     
beaumondo 21.11.2013, 10:05
quelle

4 Antworten

9

ExecuteScalar gibt null zurück, wenn die Ergebnismenge laut MSDN null ist. Das bedeutet, dass deine Besetzung ungültig ist

Siehe hier für die Dokumentation SqlCommand.ExecuteScalar

Wenn Sie möchten, dass dieser Cast funktioniert, ändern Sie ihn in ein Nullable int

%Vor%     
David Pilkington 21.11.2013 10:08
quelle
5

Ich habe gerade ein ähnliches Problem erlebt. Was ich getan habe, war eine int-Spalte aus einem bestimmten Datensatz in einer Tabelle auszuwählen, aber der Wert dieser Spalte ist 0. Der folgende Vorgang verursachte die Ausnahme "Objektverweis nicht auf eine Instanz eines Objekts gesetzt":

%Vor%

Meine Lösung war, den obigen Code zu ändern:

%Vor%

Dies hat die Ausnahme vermieden.

    
LaBird 27.05.2014 09:06
quelle
0

Sie tun es ziemlich falsch - versuchen Sie, SqlDataReader für validateDatabase.ExecuteScalar() results

aufzurufen     
user2604650 21.11.2013 10:08
quelle
-1
%Vor%     
Cihan TT 28.04.2016 11:23
quelle

Tags und Links