Problème de dates [Résolu]

Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
- - Dernière réponse : fatikab
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
- 22 mai 2013 à 09:42
Bonjour tout le monde ,

Je suis entrain de développer une application en C# et ça fait deux jours que je suis bloqué sur un point : j essai d'inserer dans un champ de type smalldatetime une valeur que je récupère d'un datetimepicker donc le problème c'est qu'il y a l heure , min et secondes que je dois éliminer pour celà j ai essayé de faire de deux manières mais ça marche pas

1) datetime date=( valeur de datetimepicker ).value.Date;
j ai l erreur suivante : incorrect syntaxe near "00"

2) string date=( valeur de datetimepicker).value.ToShortdateString();

et là je trouve dans ma base de données la valeur '01/01/1900' .

svplé s'il qlqn pourrait m aider ...
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
3
Merci
Re,

cmd3 = connection.CreateCommand(); 

cmd3.CommandText = "insert into etat_equipes (nom_etat,motif_etat,date_debut,Nom_equipe) values ('" + etat.Text + "','" + motif.Text + "', @paramDate1, '" + equi + "' )"; 

SqlParameter dated = new SqlParameter("@paramDate1", SqlDbType.SmallDateTime); 
dated.Value = smallDate1; 

cmd3.Parameters.Add(dated);

Reader= cmd3.ExecuteReader(); 


bye...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
12421
Date d'inscription
mardi 11 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

dans cette discussion en anglaisle gars a l'aire de dire qu'il faut que le format de la date soit mm/dd/yyyy.



Whismeril
Commenter la réponse de Whismeril
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
0
Merci
Merci tout d'abord pour votre réponse
sinon tu parles du format dans le datetimepicker ?
Commenter la réponse de fatikab
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
0
Merci
Ree ,
Personne n'a une idée ?
Commenter la réponse de fatikab
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
0
Merci
Salut,

le smalldatetime supporte les heures/minutes/secondes.
il faut juste donner le bon format au dateTimePicker :

Par exemple :

// Dans le FormLoad
dateTimePicker1.CustomFormat = "dd/MM/yyyy HH:mm:ss";

// Sur un bouton, récupère la date et passe au SLQ
DateTime laDate = dateTimePicker1.Value;

// ici 2 solution pour passer au sql
using System.Data.SqlTypes;

// affecte directement un SqlDateTime
SqlTypes.SqlDateTime smallDate = laDate;

// ou passe par un SqlString
SqlTypes.SqlString smallDateStr = DateTime.ParseExact(
    dt.ToString("dd/MM/yyyy HH:mm:ss"),
    "dd/MM/yyyy HH:mm:ss",
    null).ToString("dd/MM/yyyy HH:mm:ss");

// Du coup, les 2 marchent avec SqlParameters puisque Value = Object
SqlParameter pDate1 = new SqlParameter("@paramDate", SqlDbType.SmallDateTime);
pDate1.Value = smallDate;

SqlParameter pDate2 = new SqlParameter("@paramDateStr",
SqlDbType.SmallDateTime);
pDate2.Value = smallDateStr;


bye...
Commenter la réponse de yann_lo_san
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
0
Merci
Merci bcccp yann_lo_san
j ai essayé ta solution mais il me génère une erreur , c est qu'il reconnait pas @paramdate ? il dit que la variable @paramdate doit etre déclarée ..
Commenter la réponse de fatikab
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
0
Merci
Re,

houla, attention,

@paramDate et @paramDateStr sont des exemples de création de SqlParameters.
C'est normal qu'ils ne soient pas reconnus, il faut que tu mettes les vrais nom de paramètres si tu utilises une procédure stockée sql, ou juste mettre ceux-ci dans la requete :

// requete
string maRequete "SELECT * FROM T WHERE champDate @paramDate";
SqlParameter pDte = new SqlParameter("@paramDate");//<----------- ICI
uneSqlCommand.Parameters.Add(pDte);

// ou Procédure stockée
string maProc = "uneprocedureStockee";
SqlParameter pDte = new SqlParameter("@leVraiNomDuParam");//<---------- ICI
uneSqlCommand.Parameters.Add(pDte);



bye...
Commenter la réponse de yann_lo_san
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
0
Merci
RE
je suis vraiment désolée mais j ai pas compris prcq j ai jamais travaillé avec "sqlparameter" je travaille avec les Reader , voici mon code :

date1.CustomFormat = "dd/MM/yyyy HH:mm:ss";
DateTime datedd = date1.Value;
System.Data.SqlTypes.SqlDateTime smallDate1 = datedd;

SqlParameter dated = new SqlParameter("@paramDate1", SqlDbType.SmallDateTime);
dated.Value = smallDate1;

connection.open();
cmd3 = connection.CreateCommand();
cmd3.CommandText = "insert into etat_equipes (nom_etat,motif_etat,date_debut,Nom_equipe) values ('" + etat.Text + "','" + motif.Text + "'," + dated + ",'" + equi + "' )";
Reader= cmd3.ExecuteReader();

par quoi dois je remplacer @paramDate1 ?
Commenter la réponse de fatikab
Messages postés
9
Date d'inscription
mercredi 27 avril 2011
Dernière intervention
22 mai 2013
0
Merci
Ohhh ça marche , merci bccccccp tu m'as bcp aidé !!
Commenter la réponse de fatikab

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.