IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[vb.net] erreur dans un code


Sujet :

Windows Forms

  1. #21
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 456
    Points : 1 782
    Points
    1 782
    Par défaut
    salut, tu es sur que les dates sélectionnées sont bien formatées lors de la requête SQL?

  2. #22
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Bonjour ^^

    J'ai tout mis au format texte....

  3. #23
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Bonjour ^^

    Je n'arrive pas à avancer à cause de cette erreur....

    Serait-ce dut à mes requêtes (qui serait incorrecte ?) ?

    A une erreur dans le code ?

    Je ne sais pas, j'ai beau m'y attabler avec des collègues, ils ont proposés des solutions diverses et variées, mais cela ne marche toujours pas....

  4. #24
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Up

  5. #25
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    il faut que tu dises où ça plante dans ton code, parce que ça fait un peu long !

  6. #26
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Et bien toujours au même endroit....


    Les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
    J'ai pourtant fait des modifications, et je fesais du pas à pas, mais si je mettais pas du 'try.... catch ex as exception... end try', il s'arrêtait sur l'erreur et n'avançait plus...

  7. #27
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    (Et merci pour la réponse )

  8. #28
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    si ta requête c'est
    "SELECT DATE_INITIAL FROM HDC_VW_INCIDENTS WHERE DATE_INITIAL between Date_deb.text and Date_fin.text"
    tu m'étonnes que ca se gauffre
    Il faudrait voir à utiliser des paramètres pour que ce soit des valeurs de date qu'il utilise dans between

  9. #29
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Met un point d'arrêt avant le try de ton execute reader et donne le contenu de ta requête.

  10. #30
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par bidou
    si ta requête c'est
    "SELECT DATE_INITIAL FROM HDC_VW_INCIDENTS WHERE DATE_INITIAL between Date_deb.text and Date_fin.text"
    tu m'étonnes que ca se gauffre
    Il faudrait voir à utiliser des paramètres pour que ce soit des valeurs de date qu'il utilise dans between
    J'ai pas très bien compris ta dernière phrase...

    @ boulete :

    J'ai fait ce que tu m'as demandé, mais il n'y a rien qui s'affiche...

  11. #31
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    là tu lui demandes de chercher une date comprise entre Date_deb.text et Date_fin.text. Tel que tu l'as écrit, ce ne sont pas les valeurs contenues par ces variables qui sont utilisées dans la requête mais le nom des variables.
    Pour faire ce que tu veux on utilise généralement des paramètres de requête. Tu trouveras des exemples dans l'aide en cherchant sur OleDbCommand.Parameters.Add par exemple

  12. #32
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Ca veut dire qu'il n'y a rien dans ta requête ...
    Pour déterminer quelle peut-être l'erreur générée lors de l'exécution de la commande, il faut regarder ce que tu lui envoies, en l'occurence le contenu de ta requête.
    Si tu testes ta variable 'requete' et qu'il n'y a rien dedans, alors tu envoies une commande vide, ce qui explique le plantage.

    Regarde :
    If Date_deb.Text <> "" And Date_fin.Text <> "" Then
    requete = "SELECT DATE_INITIAL FROM HDC_VW_INCIDENTS WHERE DATE_INITIAL between Date_deb.text and Date_fin.text"
    Else : MsgBox("Il n'y a pas d'incident à ces dates")
    End If
    Là, tu initialises ton sql

    Mycommand.CommandText = requete
    Là, tu attribues ton sql à ta commande. On est bien d'accord que si requete est vide, la commande est également vide.

    Try
    Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
    Et là tu initialises ton datareader à partir de ta commande. SI ta commande est vide, ça plante.

    L'idée est donc de vérifier le contenu de ton sql, qui doit merder.
    C'est pour cela que je te disais de mettre un point d'arrêt avec le try, pour tester la variable requete.
    Si tu me dis qu'elle est vide, c'est que tu ne passes même pas dans ton if ... then ... etc .

    Vois-tu ?

    Mais soit dit en passant, je pense plutot que ta reque^te est fausse tout simplement.

    Déjà comme te le disait bidou, tu as mis le nom des variables dans ta requête au lieu de mettre la valeur.

    Il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete = "SELECT DATE_INITIAL FROM HDC_VW_INCIDENTS WHERE DATE_INITIAL between #" & Date_deb.text & "# and #" & Date_fin.text & "#"
    Déjà ça devrait être mieux ...

  13. #33
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Excusez moi de vous embêtez tant, mais je débute en vb.net… Et il y a plus ou moins des erreurs, que j’arrive parfois à régler et d’autre pas…

    Je vous remercie de votre gentillesse de bien vouloir à chaque fois me répondre et aussi de votre grande patience…

  14. #34
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Et en plus, pour ta requête, si tu as sur une base access, tu dois d'une part gérer tes dates entre #, et en plus les présenter au format américain (mm/dd/yyyy)

  15. #35
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    d'où l'intérêt des paramètres

  16. #36
    Membre habitué Avatar de lou87
    Profil pro
    Inscrit en
    Février 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 368
    Points : 128
    Points
    128
    Par défaut
    Bonjour ^^

    Merci pour vos réponses , j'ai mis des # aussi dans les autres requêtes et ça marche mieux mais bon, apparement le programme ne fonctionne pas encore correctement...

    Je vais essayer de mettre mes dates en format américain mais dans ma base access, ceux ci sont de format normale autrement dit de format français.

  17. #37
    Membre régulier Avatar de boulete
    Profil pro
    Inscrit en
    Février 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Février 2006
    Messages : 132
    Points : 106
    Points
    106
    Par défaut
    Dans Access, les dates sont stockées en format français, mais lorsque tu exécutes une requête sql, le format de date retenu pour les comparaisons est obligatoirement format américain ...

    Sinon tu fais comme te disais Bidou, tu utilises des paramètres pour ta requête ...

Discussions similaires

  1. [VB.NET]Erreure dans une requete
    Par damaskinos dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/03/2006, 19h30
  2. [VBA][Débutant][export]erreurs dans mon code?
    Par Christophe93250 dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2006, 19h52
  3. Erreur dans du code
    Par claralavraie dans le forum ASP
    Réponses: 4
    Dernier message: 23/12/2005, 09h32
  4. [VBA] Erreur dans un code. Hierarchie DAO.
    Par snoopy69 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/10/2005, 22h28
  5. [VB.NET] Erreur conversion de code c=>vb (opendialogfile)
    Par hirochirak dans le forum Windows Forms
    Réponses: 19
    Dernier message: 02/06/2004, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo