MySQL campi data vuoti con valore "0000-00-00" e Foundation

Nel caso abbiate un database MySQL che ha i campi dati non valorizzati che invece di avere il valore null hanno “0000-00-00” utilizzandoli un un’applicazione realizzata con Instant Developer Foundation incorrete nell’errore di runtime:

Unable to convert MySQL date/time value to System.DateTime

La cosa migliore da fare sarebbe quella di bonificare il database impostando null per i campi con quel valore ma non sempre è possibile, magari occorre lasciarli a quel valore per compatibilità con un altro software e quindi come fare?

È semplice: andiamo a cambiare la stringa di connessione al database a runtime nell’evento Initialize della nostra applicazione web in questo modo:

"SERVER=il-serve-del-database;DATABASE=il-mio-database;Convert Zero Datetime=true;"

In sostanza è il parametro Convert Zero Datetime=true che ci interessa.

Questa impostazione risolve il problema.

6 Mi Piace