6 messaggi dal 18 ottobre 2003
www.ziored.net
Salve a tutti, è la prima volta che scrivo in questi forum anche se ho conosciuto AspItalia molto tempo fa e l'ho sempre usato per avere spunti. Ma veniamo al mio problema: non riesco a salvare una data (DateTime) con valore NULL sul database.

Il codice che utilizzo (e che DEVO utilizzare per questioni di "ordine" per non modificare tutto il resto dell'applicazione) è il seguente:

DateTime myDate = new DateTime();
SqlParameter parms = new SqlParameter("Data", SqlDbType.DateTime);
if (myDate != new DateTime())
parms.Value = myDate;
else
parms.Value = null;

In pratica la logica è questa: se l'oggetto data non è impostato allora devo salvare il valore NULL nel record. Il problema è che il compilatore riscontra un errore SQL dicendo che il parametro specificato non è compatibile con il tipo smalldatetime. Ho provato a sostituire quel 'null' sia con stringa vuota ("") che con la stringa "NULL" ma niente da fare, sempre quell'errore... ho anche provato a commentare l' "else" in modo da non valorizzare il campo, ma la Stored Procedure che si occupa del salvataggio mi dà errore "Parameter Expected".

Qualcuno ha un'idea di come si specifichi il valore NULL in un SqlParameter ???

-=| ZioRed |=-
WinApps & Web Developer
http://www.ziored.net
Dice che è compatibile perché in realtà gli passi un valore, e cioè DateTime.MinValue (valore di default) che è troppo piccolo rispetto al campo di Sql.
Invece di null, usa DBNull.Value e così passi veramente un valore null. Io comunque (per non fare confusione) ti consiglio di lavorare su costantanti, come DateTime.MinValue per sapere se è stata impostata o meno la data.

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.