[c#] Insertion dateTime dans SQL serveur

Insertion dateTime dans SQL serveur [c#] - C#/.NET managed - Programmation

Marsh Posté le 28-06-2005 à 16:24:33    

Bonjour j'essaye d'inserer une date dans une bdd sql serveur
Je precise que le champ de ma table sql server (date_test) est declaré en datetime.
Voici le code qui pose probleme :
 

Code :
  1. DateTime myDateTime = DateTime.Now;
  2. SqlConnection myConnection = (SqlConnection)Session["myConnection"];
  3. SqlCommand myCmdInsert;
  4.        
  5. string maRequete = "INSERT INTO referer_test (date_test) VALUES(\'" + myDateTime + "\')";
  6.        
  7. myCmdInsert = new SqlCommand();       
  8. myCmdInsert.Connection = myConnection;       
  9. myCmdInsert.CommandText = maRequete;   
  10. myCmdInsert.ExecuteNonQuery();


 
et voici l'erreur que j'obtiend:
 
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.
 

Reply

Marsh Posté le 28-06-2005 à 16:24:33   

Reply

Marsh Posté le 28-06-2005 à 16:27:11    

C'est quoi cette requête concaténée à l'arrache ? :D  
Ever heard of SqlParameter ?


Message édité par FlorentG le 28-06-2005 à 16:27:20
Reply

Marsh Posté le 28-06-2005 à 16:29:32    

FlorentG a écrit :

C'est quoi cette requête concaténée à l'arrache ? :D  
Ever heard of SqlParameter ?


 
je peut faire comment pour qu'elle soit plus propre ?

Reply

Marsh Posté le 28-06-2005 à 16:47:21    

Apprend un peu à te servir des SqlCommand, et plus particulièrement des SqlParameter, y'a tout qu'est super-bien expliqué dans la MSDN

Reply

Marsh Posté le 29-06-2005 à 13:14:06    

voir plutot un truc du genre :
 

Code :
  1. DateTime myDateTime = DateTime.Now;
  2. SqlConnection myConnection = (SqlConnection)Session["myConnection"];
  3. SqlCommand myCmdInsert;
  4.        
  5. string maRequete = "INSERT INTO referer_test (date_test) VALUES(@DateToInsert)";
  6.        
  7. myCmdInsert = new SqlCommand(maRequete,myConnection);       
  8. myCmdInsert.Parameters.Add("@DateToInsert",SqlDbType.DateTime).Value=myDateTime;     
  9. myCmdInsert.ExecuteNonQuery();


 
 :)

Reply

Marsh Posté le 29-06-2005 à 15:48:50    

Exactement :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed