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

VB.NET Discussion :

problème de l'execution d'une requete


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Par défaut problème de l'execution d'une requete
    Bonjour,

    J'ai un problème dans mon programme dès que j'éxecute ma requete SQL.
    Je configure ma connexion a cette base par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Mise en place de la connexion avec la base Access
            cnx = New ADODB.Connection
            rst = New ADODB.Recordset
     
            'Définition du pilote de connexion
            cnx.Provider = "Microsoft.Jet.Oledb.4.0"
            'Base de données à connecter
            cnx.ConnectionString = sDbRev
            'Ouverture de la base de données
            cnx.Open()
    Ensuite j'écris ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ' Requête pour cherche les information du calcul
            Dim requete As String
            requete = "SELECT PC FROM UTILAPPARCH WHERE APP = PROE"
    et ensuite le l'execute :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            ' Exécution de la requète
            cnx.Execute(requete)
    Dès que le programme arrive a cette étape j'ai cette exeption :



    Je n'arrive pas a trouver pourquoi ca me mets ca.
    Pour vérifier que ma requete fonctionnait, je l'ai testé dans SQL server 2005 et elle fonctionne.

    Si vous avez des idées pour m'aider a trouver des solutions.

    Merci d'avance

  2. #2
    Membre Expert Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Par défaut
    Citation Envoyé par azräel Voir le message
    Ensuite j'écris ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ' Requête pour cherche les information du calcul
            Dim requete As String
            requete = "SELECT PC FROM UTILAPPARCH WHERE APP = PROE"
    Bonjour,

    Alors personnelement pour ta requête tu devrais plutôt mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ' Requête pour cherche les information du calcul
            Dim requete As String
            requete = "SELECT PC FROM UTILAPPARCH WHERE APP = 'PROE'"
    Car il s'agit bien d'un élément passé en paramètre ? Il faut que ton champ APP ait comme valeur 'PROE' ?
    Essaye dans un premier temps ceci et tiens nous au courant des évolutions.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Par défaut
    Effectivement ca marche mieux comme ca

    J'avais deja essayé cette synthase mais j'avais du faire une erreur.

    Par exemple si dans ma requete je rajoute des dates devrais-je aussi rajouter des quotes (')entre chaque date ??

    si oui en gros la requete serais comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete = "SELECT APP,PC, STARTTIME, CURRTIME FROM UTILAPPARCH WHERE APP = '" & ComboBox1.Text & "'" & " AND starttime BETWEEN '" & TextBox1.Text & "' and '" & TextBox2.Text & "' AND currtime BETWEEN '" & TextBox1.Text & "' and '" & TextBox2.Text & "'"
    en gros avec les valeurs ca donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete	"SELECT APP,PC, STARTTIME, CURRTIME FROM UTILAPPARCH WHERE APP = 'PROE' AND starttime BETWEEN '01/01/2006' and '01/01/2007' AND currtime BETWEEN '01/01/2006' and '01/01/2007'"
    Oui ma requete a un peu changé

    en tout cas merci lola

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Citation Envoyé par azräel Voir le message
    Par exemple si dans ma requete je rajoute des dates devrais-je aussi rajouter des cotes (')entre chaque date ??
    Eh oui... les variables au format date, string, text (principalement) sont toujours entourées de quotes. Comme ça, si jamais ton paramètre contient des caractères spéciaux (ex : &/\...) ils ne sont pas considérés comme appartenant à ta requête, mais à ton paramètre.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 102
    Par défaut
    ok.

    Donc lors que je test cette nouvelle requete, une autre exeption apparait.
    Et cette exeption me dit :
    Type de données incompatible dans l'expression du critère.
    Faut il une expression spécial pour pouvoir ajouter des dates a ma requete?

    Pour l'instant j'ai fait mes test avec ce format et ces dates la :

    01/01/2006 et 01/01/2007

  6. #6
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Faut il une expression spécial pour pouvoir ajouter des dates a ma requete?
    En fait, tout dépend de ce qu'attend ta base de données. Si tu attends un paramètre au format date+heure, ça risque de ne pas très bien fonctionner . Si tu attends simplement un paramètre au format date, vérifie bien le format d'affichage des dates dans ta base de données.
    Essais de mettre la date dans ce format : 2006-01-01 ou 2006-12-31...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème d'execution d'une requete
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/10/2009, 14h08
  2. Réponses: 11
    Dernier message: 03/07/2008, 14h48
  3. probléme execution d'une requete
    Par sarah_s dans le forum C#
    Réponses: 5
    Dernier message: 30/05/2007, 17h21
  4. Probleme d'execution d'une requete avec un Count
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 23/06/2004, 10h33
  5. [ADO] Probleme lors de l'execution d'une requete...
    Par NoisetteProd dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/06/2004, 12h43

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