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 1.0/1.1
Problema con orario
lunedì 04 luglio 2005 - 15.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
stee85
Profilo
| Senior Member
299
messaggi | Data Invio:
lun 4 lug 2005 - 15:03
Ciao a tutti,
devo inserire nel db [sql server] un orario. Il campo in sql server è di tipo datetime.
prendo il valore da una textbox e poi la inserisco nel db solo che mi dice che il campo è out-of-range
Il codice è questo:
string inizio=txInizio.Text.Trim();
inizio=Convert.ToDateTime(inizio).ToLongTimeString();
......(altri campi)
string query="INSERT INTO Rec (RecHfr, RecHto, RecHst, RecDat, RecInv, RecInm, RecDes, RecSit, RecAnaId, RecActId, RecNot, RecRspId, RecCdcId, RecTrp) VALUES ('"+ inizio +"','"+ fine +"', '"+ pausa +"', '"+d+"', "+ Convert.ToInt32(fatt) +", '"+ tipo_fatt +"', '" + des +"', '" + luogo +"', " + Convert.ToInt32(Session["IDANA"]) + ", " + act +", '"+txNot.Text+"',"+Convert.ToInt32(rsp)+","+Convert.ToInt32(cdc)+",'"+trp+"')";
SqlCommand cmd=new SqlCommand(query,conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
grazie mille per qualsiasi suggerimento
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 4 lug 2005 - 15:36
Ciao Stee..le soluzioni sono 2..o ti crei un parametro di tipo data per il tuo command (mi sembra quasi di essere monotono ^_^), che è la soluzione migliore, oppure gliela passi come stringa in questo modo:
..., '" + String.Format("{0:MM\/dd\/yyyy}", Now) + "', ..."
Andy
stee85
Profilo
| Senior Member
299
messaggi | Data Invio:
lun 4 lug 2005 - 15:57
intendi questo?
string inizio=txInizio.Text.Trim();
inizio=Convert.ToDateTime(inizio).ToString();
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = inizio;
perchè mi dice sempre che il campo è out of range
Ste
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 4 lug 2005 - 16:14
Secondo me ti da errore perchè tenti di passare una stringa ad un parametro di tipo DateTime..
string inizio=txInizio.Text.Trim(); ' il dato è una stringa
inizio=Convert.ToDateTime(inizio).ToString();
' ma il parametro è un datetime..
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = inizio;
prova a passargli il dato come datetime:
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = Convert.ToDateTime(inizio)
Andy
stee85
Profilo
| Senior Member
299
messaggi | Data Invio:
lun 4 lug 2005 - 16:26
mi da sempre lo stesso errore
Ho provato
string inizio=txInizio.Text.Trim();
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = Convert.ToDateTime(inizio);
ma dice:
Syntax error converting datetime from character string.
poi ho provato:
string inizio=txInizio.Text.Trim();
inizio=Convert.ToDateTime(inizio).ToLongTimeString();
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = Convert.ToDateTime(inizio);
Ma mi dice:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. The statement has been terminated.
Boh nn capisco
Ste
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 4 lug 2005 - 16:37
mmm..strano..prova ad usare la funzione CDate..so che non è nuovissima, ma a me funziona..sintassi:
Data = CDate(stringa)
Andy
stee85
Profilo
| Senior Member
299
messaggi | Data Invio:
lun 4 lug 2005 - 16:53
ma in C# esiste CDate?
Ste
stee85
Profilo
| Senior Member
299
messaggi | Data Invio:
lun 4 lug 2005 - 17:32
Funziona!!!!!
string inizio=txInizio.Text.Trim();
inizio=inizio.Replace(".",":");
inizio=a+"/"+m+"/"+g+" "+inizio;
DateTime i=Convert.ToDateTime(inizio);
cmd.Parameters.Add(new SqlParameter("@inizio", SqlDbType.DateTime)).Value = i;
grazie mille
Ste
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 4 lug 2005 - 17:33
ehm..no, sorry.. -.-' è l'abitudine di lavorare in Vb..
Dovresti trovare il corrispondente in C#..
Andy
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 !