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

 Delphi Discussion :

Problème de paramètres non trouvés


Sujet :

Delphi

  1. #1
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut Problème de paramètres non trouvés
    Bopnjour,
    voici mon probleme , j'utilise une requettte pour rechercher un montant ttc d'une facture à zero, seulement l'exé m'envoie le message d'erreur suivnat :
    Parametres CDE_MTTTC non trouvés, voici le code:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
      DMTactile.NewQry(Qry);
              with qry do
              begin
                   if active then close;
                   SQL.Clear;
                   SQL.add ('select ENTETES_RESA.CDE_ACTIF,ENTETES_RESA.CDE_NBNUITS, ENTETES_RESA.CDE_MTTTC, ENTETES_RESA.CDE_DATARRIV');
                   SQL.add ('from ENTETES_RESA ');
                   SQL.Add('where CDE_MTTTC=''0''  ');        //or CDE_MTTTC is null
                   _mtttc:=ParamByName('CDE_MTTTC').Value;
                   nbnuits:=FieldByName('CDE_NBNUITS').Value;                                          //ParambyName('CDE_MTTTC').Asinteger:=_mtttc;
                                                               //ParamByName(' CDE_NBNUITS').Asinteger:=nbnuits;
                   Open;
                    if (_mtttc=0) or (inttostr(_mtttc) = null ) then
                       if(strtoint(s)=nbnuits) then
                            DMTactile.NewQry(Qry2);
                            with qry2 do
                            begin
                                 if active then close;
                                 SQL.Clear;
                                 SQL.Add('update ENTETES_RESA ');
                                 SQL.Add('set CDE_ACTIF= ''O''   ');
                                 SQL.Add('Where CDE_NBNUITS = strtoint(s)');
                   close;
                   end;
              DMTactile.DestroyQRY(Qry);
              DMTactile.DestroyQRY(Qry2);
              end;
    Merci pour votre aide!!!

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    A première vu, je dirai que c'est un souci de "syntaxe" (à vérifier):

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL.add ('select ENTETES_RESA.CDE_ACTIF,ENTETES_RESA.CDE_NBNUITS, ENTETES_RESA.CDE_MTTTC, ENTETES_RESA.CDE_DATARRIV');
    SQL.add ('from ENTETES_RESA ');
    SQL.Add('where ENTETES_RESA.CDE_MTTTC=''0''  ');        //or CDE_MTTTC is null
    _mtttc:=ParamByName('ENTETES_RESA.CDE_MTTTC').Value;
    nbnuits:=FieldByName('ENTETES_RESA.CDE_NBNUITS').Value;
    A+

  3. #3
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    c'est une bonne idée mais cela ne fonctione paas.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Dommage ...

    Bon, je me pose une question ... J'avais pas remarqué les " " autour du 0...
    Le champ CDE_MTTTC est de quel type ?
    Logiquement, si c'est un entier, ou réel, il n'y a pas besoin de guillemets

    Sinon, tu peux toujours essayer ceci (histoire de simplifier l'écriture) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL.add ('select CDE_ACTIF,CDE_NBNUITS, CDE_MTTTC, CDE_DATARRIV');
    SQL.add ('from ENTETES_RESA');
    SQL.Add('where CDE_MTTTC=0');        //or CDE_MTTTC is null
    _mtttc:=ParamByName('CDE_MTTTC').Value;
    nbnuits:=FieldByName('CDE_NBNUITS').Value;
    Pour ma part, je ne vois que ça comme erreur

  5. #5
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    en fait CDE_MTTTC est un double precision dans la base firebird.

  6. #6
    Membre Expert

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Billets dans le blog
    1
    Par défaut
    Attention tu essayes de récupérer les valeurs dans les champs (voire même dans les paramètres pour CDE_MTTTC) avant l'appel de Open ce qui est une erreur puisque tu ne peux pas récupérer les valeurs avant d'exécuter la requête.

  7. #7
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    en effet , d'ailleurs j'aimerai que quelqu'un m'explique comment récupérer une valeur (ici un entier) qui résulte d'une requête et l'utiliser pour un traitement dans le code delphi.

  8. #8
    Expert confirmé
    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 : 63
    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
    Par défaut
    Salut

    Pour être franc, je ne comprends pas grand chose à ta requête.
    Je vois la présence de ParamByName mais pas de paramètres dans ta requête. !!!

    Il ne faut pas oublier, en complément de la remarque de Aka Guymelef, ces quelques simples principes:
    1. Définition de la propriété SQL de la requête
    2. Assignation des valeurs aux paramètres (avec ParamByName)
    3. Ouverture de la requête sélection avec Open
    4. Lecture des valeurs renvoyées (avec FieldByName)
    5. Fermeture de la requête (avec un Commit)


    Voila le schéma à suivre.

    @+ Claudius

  9. #9
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    ha , merci beaucoup pour cette démarche à suivre que je n'ai trouver sur aucun site , et en effet l'open était très mal placé.(d'ailleurs c bon je récupère mes valeurs maintenant).
    Pour le commit , j'insère tous simplement 'commit' et ça marche?

  10. #10
    Expert confirmé
    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 : 63
    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
    Par défaut
    Citation Envoyé par jodan33 Voir le message
    ha , merci beaucoup pour cette démarche à suivre que je n'ai trouver sur aucun site , et en effet l'open était très mal placé.(d'ailleurs c bon je récupère mes valeurs maintenant).

    Citation Envoyé par jodan33 Voir le message
    Pour le commit , j'insère tous simplement 'commit' et ça marche?
    Presque
    Quels sont les composants que tu utilises pour accéder à ta BDD Firebird ?

  11. #11
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Pour que CDE_MTTTC soit considéré comme un paramètre de la requête, il faut la déclarer comme il se doit ; c'est à dire :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    where CDE_MTTTC = :CDE_MTTTC
    Voir des exemples/explications :
    http://pagesperso-orange.fr/bardou/m...ametressql.htm
    ...

  12. #12
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    C'est à dire ?, j'utilise Firebird en base de données

  13. #13
    Expert confirmé
    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 : 63
    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
    Par défaut
    Citation Envoyé par jodan33 Voir le message
    C'est à dire ?, j'utilise Firebird en base de données
    Oui certes, mais tu utilises bien des composants pour te connecter à ta base, au moins un composant transaction, et des Query, Table, ...

    Est-ce que tu utilises les composants de la suite IBExpress fournit avec Delphi (TIBDataBase, TIBTransaction, TIBQuery, ...) ou ceux d'une autre suite?

  14. #14
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Ho les gars !?
    Vous avez vu mon post ?

  15. #15
    Expert confirmé
    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 : 63
    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
    Par défaut
    Citation Envoyé par neilbgr Voir le message
    Ho les gars !?
    Vous avez vu mon post ?
    Hein, où ça ?

    Oui, et j'espère que jodan33 a été lire tes liens sur les requêtes paramétrées.

  16. #16
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    Oui, neilbgr j'ai vu et d'ailleurs je m'en suis inspiré.
    Pour Cl@udius , j'utilise des TIBQuery

  17. #17
    Expert confirmé
    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 : 63
    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
    Par défaut
    Et bien dans ce cas, et pour répondre à ta question sur le commit, ton TIBquery est relié à un objet TIBTransaction. Donc pour valider ta transaction il suffit de faire un commit ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TIBTransaction1.Commit;
    Il est important de bien gérer ses transactions avec Firebird (et tout SGBD en général). Tu peux consulter ce tuto sur le sujet. A voir également en introduction ce chapitre de la FAQ Interbase/Firebird.

    Bonne lecture
    @+ Claudius

  18. #18
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Citation Envoyé par jodan33 Voir le message
    Oui, neilbgr j'ai vu et d'ailleurs je m'en suis inspiré.
    Merci

  19. #19
    Membre confirmé Avatar de jodan33
    Homme Profil pro
    DEveloppeur interoperabilité
    Inscrit en
    Mars 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : DEveloppeur interoperabilité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 95
    Par défaut
    En fait le probleme de parametre non trouvé n'a pas était résolu tourt de suite mais cette discussion combiné avec quelques autres m'a permis de résoudre ce pbme de paramétre non trouvé.

    Merci Beaucoup!!!!!

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

Discussions similaires

  1. Problème avec regex non trouvé
    Par Damien69 dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2008, 14h32
  2. Réponses: 9
    Dernier message: 18/02/2008, 21h27
  3. [S2+Tiles2] Problème de définitions non trouvées.
    Par petitpasdelune dans le forum Struts 2
    Réponses: 4
    Dernier message: 26/08/2007, 17h37
  4. [Loader] Problème de classe non trouvée avec LoadFile
    Par Ericx_25 dans le forum Autres composants
    Réponses: 3
    Dernier message: 29/01/2007, 20h01
  5. problème de fonction non trouvées
    Par youp_db dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/09/2006, 16h01

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