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

Bases de données Delphi Discussion :

[D7][ACCESS] ADOQuery Resultat incorect.


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut [D7][ACCESS] ADOQuery Resultat incorect.
    salut a tous vous avez cette requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM LigneSortie
    WHERE (LigneSortie.Article = :PAtrticle) AND (LigneSortie.NumBon= (SELECT Num FROM Sortie Where Dest = :PDest));
    lorsque je l'exécute sou access elle renvoi un résultat ce qui est normal mais avec un ADOQuery j'ai aucun résultat trés bizard.

    le plus beau c'est lorsque j'appel la requette sans paramettre elle me retourne un résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM LigneSortie
    WHERE (LigneSortie.Article = 870) AND (LigneSortie.NumBon= (SELECT Num FROM Sortie Where Dest = "P06199"));

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Le probleme vient du fait que le second parametre est une chaine.
    Generalement on utilise QuotedStr.
    J'ai fait un test en creant 2 tables sous access, mais en bidouillant avec/sans QuotedStr() je ne trouve pas la solution.

    Exmple du code qui plante avec type de données incompatibles 'comme s'il attendait une chaine et qu'on lui donnait autre chose) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT TableTest2.Nom AS Resultat FROM TableTest2' +
                      ' WHERE (  ( valeur= :truc) AND nom = ' +
                      ' (SELECT TableTest1.Champ1  FROM TableTest1 WHERE'+
                      '  (( champ2= 1)   AND' +
                      ' ( champ1=' + quotedstr(' :bidule') + ')) ) )');// pas bon
    
      ADOQuery1.Parameters[0].Value := 24.70;  // c'est bon
      ADOQuery1.Parameters[1].DataType := ftString;
      ADOQuery1.Parameters[1].Value := 'b';          // pas bon
      ADOQuery1.Open;
    end;
    Si on enleve QuotedSTr ou que l'on ecrit ADOQuery1.Parameters[1].Value := QuotedSTr('b'); cela ne fonctionne pas mieux.

Discussions similaires

  1. Access: numéroté resultat
    Par lelapinrusse dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 29/12/2007, 14h44
  2. insérer resultat d'une requete dans un champs access
    Par valaidnew dans le forum Access
    Réponses: 2
    Dernier message: 02/03/2006, 14h47
  3. AdoQuery:Transfert d'enregistrements entre deux bases access
    Par jnc dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/01/2006, 13h39
  4. Réponses: 4
    Dernier message: 23/01/2006, 18h49
  5. comment sauvegarder le resultat d'un ADOQuery
    Par new_in_delphi dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/01/2005, 17h37

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