Meilleur auteur de réponses
probleme avec charger datagridview+date

Question
-
bonjour
j'ai fait une application VB.net gestion des clients j'ai eu un problème lors du chargement de base de donnée ( access 2003)
le problème c'est que je ne peut pas afficher les lignes inséré dans la base d'une date spécifique , le problème seulement pour les dates du 11 juin 2012 et 12 juin 2012 et si je change la date systeme d'autre date il m'affiche correctement de ce que j'ai besoin mais pour ces deux dates non plus
!!!!!!!!!!!!!
vous pouvez m'aidez SVP ?
Réponses
-
Donc concrètement ce serait une instruction SQL qui ne retourne pas les lignes que vous attendez ? Si oui, c'est donc probablement un problème au niveau de votre clause WHERE. Une autre possibilité serait une gestion incorrecte des dates qui ferait que vous ayez insérer le 06/11/2012 au lieu du 11/06/2012.
Donc testez déjà si c'est un problème de sélection dans votre base. Si oui vérifiez la requête et les données présentes dans la base sans supposer quoi que ce soit...
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Patrice ScribeMVP, Moderator mardi 12 juin 2012 17:44
- Marqué comme réponse Ciprian Duduiala mercredi 13 juin 2012 07:17
-
Attention tout de même. L'idée est normalement de travailler avec de "vraies" dates pour éviter ces problèmes et que votre application fasse le moins de supposition possible sur le contexte et notamment la langue. Je suggère http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html (utilisation de requêtes paramétrées).
Ce problème survient très probablement parce que vous faites vous même la conversion de la date en texte pour l'incorporer dans votre requête et le problème est d'utiliser un format qui ne présentera aucune ambiguïté. L'utilisation de paramètres permet de manipuler toujours la date dans sans format natif et ce travail est fait pour vous.
Si vous le faites vous-même vous pourrez encore avoir des problèmes avec l'apostrophe ou le point décimal et générer une instruction comme :
UPDATE MaTable SET Nom='O'Brian',Points=2,5 WHERE pk=2 au lieu de
UPDATE MaTable SET Nom='O''Brain',Points=2.5 WHERE pk=2
Je suggère de vérifier que les dates actuelles sont bonnes car de mémoire Access utilise le format #MM/JJ/AAAA# dans les instructions SQL et il se pourrait peut-être que vous demandiez donc les dates du 6 décembre et non pas du 12 juin. Vérifiez bien les valeurs actuellement présentes dans votre base.
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Marqué comme réponse Chafroud Walid mercredi 13 juin 2012 08:12
Toutes les réponses
-
Bonjour,
"Je ne peux pas afficher" c'est à dire. Une possibilité serait peut-être que l'on ait aussi des heures et des minutes dans la base pour ces lignes et donc si on sélectionne les lignes qui correspondent exactement au 11 ou 12 juin 2012 on ne trouverait pas une ligne qui aurait 12/06/2012 à 8:10 par exemple ???
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Modifié Patrice ScribeMVP, Moderator mardi 12 juin 2012 10:55
-
merci
mais le problème pour quoi les autres dates se charge dans le datagridview seulement la date du 11 et 12 (pour l'heure , j'ai précisé la requête d'insertion de tel sorte qu'elle insert seulement la date "11/06/2012" )
j'ai fait l'application de façon qu'elle affiche les lignes du chaque jour (date système) pour tous jours fonctionne correctement sauf le 11 et 12 juin 2012 .
j'ai changer ma date système et sa marche b1 (sauf 11 et 12) -
Donc concrètement ce serait une instruction SQL qui ne retourne pas les lignes que vous attendez ? Si oui, c'est donc probablement un problème au niveau de votre clause WHERE. Une autre possibilité serait une gestion incorrecte des dates qui ferait que vous ayez insérer le 06/11/2012 au lieu du 11/06/2012.
Donc testez déjà si c'est un problème de sélection dans votre base. Si oui vérifiez la requête et les données présentes dans la base sans supposer quoi que ce soit...
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Proposé comme réponse Patrice ScribeMVP, Moderator mardi 12 juin 2012 17:44
- Marqué comme réponse Ciprian Duduiala mercredi 13 juin 2012 07:17
-
-
Attention tout de même. L'idée est normalement de travailler avec de "vraies" dates pour éviter ces problèmes et que votre application fasse le moins de supposition possible sur le contexte et notamment la langue. Je suggère http://www.codinghorror.com/blog/2005/04/give-me-parameterized-sql-or-give-me-death.html (utilisation de requêtes paramétrées).
Ce problème survient très probablement parce que vous faites vous même la conversion de la date en texte pour l'incorporer dans votre requête et le problème est d'utiliser un format qui ne présentera aucune ambiguïté. L'utilisation de paramètres permet de manipuler toujours la date dans sans format natif et ce travail est fait pour vous.
Si vous le faites vous-même vous pourrez encore avoir des problèmes avec l'apostrophe ou le point décimal et générer une instruction comme :
UPDATE MaTable SET Nom='O'Brian',Points=2,5 WHERE pk=2 au lieu de
UPDATE MaTable SET Nom='O''Brain',Points=2.5 WHERE pk=2
Je suggère de vérifier que les dates actuelles sont bonnes car de mémoire Access utilise le format #MM/JJ/AAAA# dans les instructions SQL et il se pourrait peut-être que vous demandiez donc les dates du 6 décembre et non pas du 12 juin. Vérifiez bien les valeurs actuellement présentes dans votre base.
Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
- Marqué comme réponse Chafroud Walid mercredi 13 juin 2012 08:12
-