Ciao a tutti,
ho creato le mie tabelle sul db (SQL server 2000)...
ho creato in APP_CODE un DataSet, dove ho creato i vari TableAdapter e relative query...
nella mia pagina ho poi messo un ObjectDataSource collegato ad uno dei TableAdapter precedentemente creati... poi una GridView per visualizzare i dati... e fin qui tutto ok..
poi ho aggiunto una DetailsView per inserire e modificare i dati... ma al momento dell'insert se non ho compilato tutti i campi (ho semplicemente alcuni campi di testo e alcuni campi booleani) la pagina mi restituisce un errore nella classe autogenerata che rappresenta il mio DataSet (quindi penso sia inaccessibile a me)... l'eccezione (NullArgumentException) dice che uno dei paramtri di testo non può essere NULL e si vede la parte di codice dove la classe autogenerata e che rappresenta il DataSet va a fare il controllo se quel parametro è NULL... il problema è che non dovrebbe essere NULL, ho impostato correttamente tutti i boundfield in modo che se sono vuoti non restituiscano un valore nullo e l'ho verificato mettendomi in debug nell'evento inserting del DetailsView... ho anche impostato i campi del TableAdapter, dal designer di VS2008 nella properties window, ho settato DefaultValue a vuoto (di default c'era la dicitura "<DBNull>", non so se esiste una dicitura particolare per settare una stringa vuota) ma niente stesso errore, ho provato anche con uno spazio ma sempre lo stesso risultato... per lui viene passato un valore NULL alla query di insert.
...ah dimenticavo che tutti i campi delle mie tabelle non accettano valori nulli, di default uso stringa vuota per i valori varchar, forse è questo il problema, cioè se non setto un valore di default per lui non è stringa vuota ma è null!?
Grazie in anticipo
EDIT:
...aggiungo che io di solito mettevo un SQLDataSource nella pagina e lo configuravo e tutto funzionava... poi ho visto questo video
http://www.asp.net/learn/3.5-videos/video-362.aspx (molto interessante, consiglio la visione) e ho scoperto la possibilità di creare dei file DataSet e configurare li dentro tutte le operazioni... mi sembrava un cosa un po più corretta e più elegante ma poi è saltato fuori questo errore che mi sta facendo impazzire.
Grazie, spero che qualcuno riesca ad aiutarmi a capire dove sta il problema
Modificato da ZetaSharp il 21 novembre 2008 14.28 -