Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Problema con passaggio datetime a una sp
giovedì 07 giugno 2007 - 12.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
amstrad
Profilo
| Junior Member
115
messaggi | Data Invio:
gio 7 giu 2007 - 12:57
ciao a tutti
sto sbattendo la testa da 3 giorni su una gw
il problema è che l'update command richiama una sp che si aspetta 4 parametri:
"@idFestivita int,
@Ges_Id int,
@data_apertura datetime,
@data_chiusura datetime"
ovviamente gestisco l'evento per aggiungere i parametri e passarli
con questo codice:
string newInizio = ((AZCalendar)((GridView)sender).Rows[e.RowIndex].FindControl("calendarModificaInizio")).SelectedDate;
string newFine = ((AZCalendar)((GridView)sender).Rows[e.RowIndex].FindControl("calendarModificaFine")).SelectedDate;
DataSourceFestivita.UpdateParameters.Add("data_apertura", TypeCode.DateTime, newInizio);
DataSourceFestivita.UpdateParameters.Add("data_chiusura", TypeCode.DateTime, newFine);
DataSourceFestivita.UpdateParameters.Add("idFestivita", TypeCode.Int32,(gwFestivita.DataKeyNames[2]).ToString());
DataSourceFestivita.UpdateParameters.Add("Ges_Id", TypeCode.Int32, "13");
DataSourceFestivita.Update();
gwFestivita.DataBind();
AZCalendar è un controllo che ho trovato sul web, e che mi restituisce una data in formato gg/mm/yyyy oppure g/m/yyyy
ma quando in debug arrivo a DataSourceFestivita.Update(); ottengo questa eccezione:
Formato della stringa di input non corretto.
avete idea del perche mi succede questo?
0v3rCl0ck
Profilo
| Guru
1.120
messaggi | Data Invio:
gio 7 giu 2007 - 13:22
Ciao,
converti la data da String in DateTime utilizzando un FormatProvider italiano, dato che il controllo ti restituisce la data sempre in italiano.
DateTime newInizio = DateTime.Parse(((AZCalendar)((GridView)sender).Rows[e.RowIndex].FindControl("calendarModificaInizio")).SelectedDate, Globalization.CultureInfo.GetCultureInfo("it-IT"));
se però il controllo ti restituisce la data nella culture info corrente basta convertire senza specificare uno stile
DateTime newInizio = DateTime.Parse(((AZCalendar)((GridView)sender).Rows[e.RowIndex].FindControl("calendarModificaInizio")).SelectedDate);
Spero di esserti stato di aiuto
Enjoy It
http://blogs.dotnethell.it/Regulator/
amstrad
Profilo
| Junior Member
115
messaggi | Data Invio:
gio 7 giu 2007 - 13:38
ho provato la modifica che mi hai proposto, ovviamente devo gare un toString del date time per inserirlo nei parametri, perche il metodo add() di updateParameters accetta (string, tipo, string), cmq l'errore che mi dà è sempre il medesimo
0v3rCl0ck
Profilo
| Guru
1.120
messaggi | Data Invio:
gio 7 giu 2007 - 14:41
Non capisco come mai l'updateparameters accetta il tipo stringa e non datetime?
http://blogs.dotnethell.it/Regulator/
amstrad
Profilo
| Junior Member
115
messaggi | Data Invio:
gio 7 giu 2007 - 15:48
ho accetato la soluzione perche cmq mi è servito il cast che mi avevi suggerito ma il problema non era sulle date dopo vari tentativi ho scoperto che DataSourceFestivita.UpdateParameters.Add("idFestivita", TypeCode.Int32,(gwFestivita.DataKeyNames[2]).ToString
passava il nome della DataKeyNames e non il suo valore
0v3rCl0ck
Profilo
| Guru
1.120
messaggi | Data Invio:
gio 7 giu 2007 - 16:17
eheh grazie
...tutto è bene quello che finisce bene...
Ciao
http://blogs.dotnethell.it/Regulator/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !