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 :

Problème requête paramétrée


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut Problème requête paramétrée
    bonjour
    j'ai fais ma première requete parametre
    definer databaseName
    SQl : select * from papers where matri = :s
    params : type de param

    et aprés je met le code dans un button
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      Query1.close;
      Query1.parambyname('s').asstring:='001'
      Query1.open;
      Showmessag(query1.sql.text);
    le programme affiche select * from papers where matri = :s
    le parametre ne change pas

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut
    Citation Envoyé par mechatikhaled Voir le message
    le programme affiche select * from papers where matri = :s
    le parametre ne change pas
    Oui c'est normal. Le fait d'alimenter un paramètre avec une valeur ne change pas la propriété SQL.

    Mais la question est: Est-ce que tu obtiens le résultat attendu après le Open ?

    @+ Claudius

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    merci monsieur
    mais ce ne pas normale que je fé showmessage il faut le programme affiche
    select * from papers where matri='001' non
    select * from papers where matri=:s
    et j ai pas obtenu le resultat

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Comme l'a indiqué Cl@udius, c'est normal que le texte ajouté dans le Query.SQL ne soit pas modifié même après l'ajout des valeurs aux paramètres. C'est le composant TQuery qui se charge de remplacer les paramètres par leurs valeurs et d'envoyer la requête SQL finale à la base de donnée lors de l'appel à la méthode Open.
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  5. #5
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    pour moi je passe quelque fois par form, pourquoi, car quelque fois sa marche pas bien, et je suis obligé de rensiegné le type de donnée à entrée(field.datatype) ou même le probléme de date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       SQl := 'select * from papers where matri =''%s'''// double cote car le chmps est de typ string
      Query1.close;
      Query1.sql.text:=format(sql,['001']);
      Query1.open;
      Showmessag(query1.sql.text);
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

Discussions similaires

  1. Probléme requéte paramétrée par rapport au TableAdapter.fillby
    Par Damiens29 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 14/03/2013, 10h08
  2. Problème requête paramétrée
    Par jacko842 dans le forum VB.NET
    Réponses: 2
    Dernier message: 19/12/2012, 10h26
  3. [AC-2002] Problème requête paramétrée Formulaire
    Par Scantf dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/12/2011, 12h02
  4. [AC-2003] Problème Requête paramétrée DAO
    Par paidge dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/11/2010, 14h56
  5. Problème requête paramétrée mysqli
    Par Ethylene dans le forum Installation
    Réponses: 5
    Dernier message: 15/05/2006, 16h57

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