Ich habe eine gespeicherte Prozedur, die eine Datenbank mit den von mir bereitgestellten Parametern aktualisiert, aber ich habe Probleme, eine NULL an die gespeicherte Prozedur zu übergeben
Das Feld, das ich NULL machen muss, ist ein DateTime-Feld
%Vor%Das gibt mir den Fehler
'NULL' ist nicht deklariert. Die Konstante 'Null' wird nicht mehr unterstützt. Verwenden Sie stattdessen "System.DBNull"
Also habe ich es versucht
%Vor% Aber das erzeugt den Wert 1900-01-01 00:00:00.000
in der Spalte, wenn es ein ""
an das Feld
Ich habe es auch versucht
%Vor%Aber es erzeugt diesen Fehler
Wert des Typs 'System.DBNull' kann nicht in 'String' konvertiert werden.
Hat jemand irgendwelche Ideen?
Oder Sie können Ihren Parameter wie folgt hinzufügen, was ihm einen Nullwert in der Datenbank gibt, wenn Ihre Variable null ist:
%Vor%Sie müssen es als NULL-fähigen Typ festlegen, wie Amit erwähnt.
Weitere Details und Hintergründe finden Sie unter Ссылка
Versuchen Sie es
Wenn Sie die Klasse und ihre Eigenschaft verwenden und diese Eigenschaftswerte als Parameter verwendet werden, können Sie dies tun
chnage die Signatur der Eigenschaft zu
%Vor%Auch wenn Ihre Datumsspalte vom Typ varchar ist, dann korrigieren Sie sie auf Date (Sql2008) / DateTime (2005).
// Ändern Sie den Parameter zu diesem
%Vor%Lassen Sie zu, dass das Feld null akzeptiert und übergeben Sie den Wert dann als
%Vor%Tags und Links sql asp.net vb.net parameters null