Domanda

Ho una data nulla nel mio database. Mi sto collegando ad esso con un LinqDataSource e collegando con un FormView. Ti permette di posizionare bene le date, ma se rimuovi la data ne ho bisogno per inserire il valore null nel db. Sta invece generando un'eccezione.

<asp:TextBox ID="TxtStartDate" runat="server" 
                    Text='<%# Bind("StartDate", "{0:MM/dd/yyyy}") %>' />

Funziona bene se si inserisce una data, ma se si elimina la data e si salva, si ottiene System.Data.SqlTypes.SqlTypeException: overflow SqlDateTime. Deve essere compreso tra 1/1/1753 12:00:00 e 31/12/9999 23:59:59. Come posso fare per inviare null?

È stato utile?

Soluzione

Non so se fosse il modo migliore, ma l'ho corretto iscrivendomi all'evento di aggiornamento FormView e inserendo il seguente codice:

object o = e.NewValues["StartDate"];
   if (o.ToString() == "")
       e.NewValues["StartDate"] = null;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top