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 :

Composant ADOQuery avec paramètres


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 46
    Par défaut Composant ADOQuery avec paramètres
    je veux utiliser un seul composant pour passer plusieurs requetes avec des parametrées, et je ne sais pas comment ecrire la requete en utilisant la propriete

    Query.sql.text:= .....
    avec ces parametres, indiquez moi please.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    ben tout simplement ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.sql.text:= 'SELECT * FROM table WHERE champ = :valeur';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query.Parameters.ParamByName('valeur').asVariant := 'truc';
    essaye la touche
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Inscrit en
    Août 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 46
    Par défaut
    j'ai essayé avec ces commandes mais l'etat tojours sort en vide (sans données)

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Etat ? QuickReport ? le DataSet est-il relié ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre averti
    Inscrit en
    Août 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 46
    Par défaut
    bien sure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    f.QMAntenne.Close;
    f.QMAntenne.SQL.Clear;
    f.QMAntenne.SQL.text:='Select t.antenne ,sum(q.montant) some from quittance q , titre t where ((q.codetitre=t.codetitre) and (q.anneeexercice =:anne) and (q.datequit between :date1 and :date2)) group by t.antenne order by some desc';
    f.QMAntenne.Prepared:=true;
    f.QMAntenne.Parameters.ParamByName('anne').value:=DBLookupComboBox1.keyvalue;
    f.QMAntenne.Parameters.ParamByName('date1').value:=DateTimePicker1.Date;
    f.QMAntenne.Parameters.ParamByName('date2').value:=DateTimePicker2.Date;
    f.QMAntenne.Open;
    fenmantenne.quickrep1.preview;
    le probleme c'est quand j'utilise les deux premiers parametres il fonctionne tres bien, et quand je rajoute le troisieme (date2) ne marche pas, je ne sais pas comment faire pour regler ce probleme.

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Rajoute un ParamCheck := true dans le code (comme ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    With f.QMAntenne do
    begin
      Close;
      SQL.Clear;
      SQL.text:='Select t.antenne ,sum(q.montant) some from quittance q , titre t where ((q.codetitre=t.codetitre) and (q.anneeexercice =:anne) and (q.datequit between :date1 and :date2)) group by t.antenne order by some desc';
      ParamCheck := True; // au cas ou 
      Prepared:=true;
      With Parameters do
      begin
        ParamByName('anne').value:=DBLookupComboBox1.keyvalue;
        ParamByName('date1').value:=DateTimePicker1.Date;
        ParamByName('date2').value:=DateTimePicker2.Date;
      end;
      Open;
    end;
    fenmantenne.quickrep1.preview;
    PS : Je me suis permis d'éclaircir ton code au passage ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  7. #7
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 096
    Par défaut
    Effectivement, le Between est-il correctement géré ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre éclairé
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Par défaut formatage de date
    j'ai eu le meme probleme avec access quand j'utilise adoquery

    ma conseille est
    dans access pour les champs de type date/heure utilser le format date/abregé
    puis avec adoquery utiliser la commande suivante:

    adoquery1.parameters.parambyname('date').value:=datetostr(datetimepicker.date);


    est ca marche surementmrgreen

Discussions similaires

  1. Creation du composant avec Paramètres dynamique.
    Par amallek dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 02/06/2014, 12h50
  2. Réponses: 4
    Dernier message: 16/04/2014, 12h59
  3. Loop et composants avec paramètre
    Par remika dans le forum Tapestry
    Réponses: 0
    Dernier message: 20/05/2009, 18h18
  4. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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