Mise à jour d'une donnee Date

levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020 - 14 nov. 2014 à 12:21
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 17 nov. 2014 à 14:14
Bonjour, les amis,

Je suis entrain vouloir savoir l'erreur commise dans ce code
 if (BanqueID == "00025")
{
DateTime date = dateTimePicker2.Value.Date ;

string sDate = date.ToString("yyyy-MM-dd HH:mm:ss");
DateTime dateInsert = Convert.ToDateTime (sDate);
DataAccess.Instance._Requette = "update [Cheques].[dbo].[Cheque_Verif] set Order_Id = '" + textBox2.Text + "' ,dar = '"+dateInsert +"' where Bank_Id ='00025'";
DataAccess.Instance.MiseAJourDonnee(DataAccess.Instance._Requette);
if (DataAccess.Instance.MiseAJourDonnee(DataAccess.Instance._Requette) == 0)
{
MessageBox.Show("Mise à jour échoué");
}
else
{
MessageBox.Show("Mise à jour effectué avec succès");
}
}
}


je reçois un message : The conversation of a char datatype to dateTime type result an out of range value
Merci d'avance pour votre aide

4 réponses

levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
14 nov. 2014 à 12:23
J'utilise une BD SQL serveur 2008 et format de la date est yyyy-mmm-dd
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
14 nov. 2014 à 13:02
Bonjour,

Sur quelle ligne de code obtiens tu cette erreur ?
As tu essayé d'ajouté un bloc Try Catch pour avoir un peu plus d'infos sur l'erreur ?
De quels types sont les champs de ta BDD (surtout celui contenant la date d'insert) ?
As tu testé ta requête en direct dans ta BDD pour savoir si elle fonctionne ?

0
levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
14 nov. 2014 à 13:18
Merci Jordane45,

L'erreur ce trouve sur la ligne dar = '"+dateInsert +"' lors de l'insertion d'une donne provenant du datatimepicker1.
J'utilise try catch raison pour laquelle je reçois ce message : The conversation of a char datatype to dateTime type result an out of range value.
Oui j'ai fait une requête direct sur la base et d la ca marche
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
17 nov. 2014 à 14:14
Bonjour,

lorsque tu fais ta conversion ToDateTime ta date reprend le format dd/mm/yyyy.

tu peux supprimer cette ligne ainsi que les HH:mm:ss qui sont à 00:00:00

DateTime date = dateTimePicker2.Value.Date ;  // ici tu supprimes les HH:mm:ss 

string sDate = date.ToString("yyyy-MM-dd");

// DataAccess.Instance._Requette est un string donc ok pour sDate
DataAccess.Instance._Requette = "update [Cheques].[dbo].[Cheque_Verif]  set  Order_Id = '" + textBox2.Text + "'  ,dar = '" + sDate + "' where Bank_Id ='00025'";


bonne journée
0
Rejoignez-nous