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

Lazarus Pascal Discussion :

Requête paramétrée avec AsCurrency [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 126
    Par défaut Requête paramétrée avec AsCurrency
    Bonjour à toutes et à tous.
    Lazarus 2.0.6; FPC 3.0.4; Windows 10 Famille 20H2.
    Contexte : dans une application comportant 3 fiches
    • une fiche "Accueil",
    • un DataModule (pour la connexion à Postgresql avec un TZConnection)
    • Une fiche "Transaction",

    À la clôture de la fiche "Transaction", les données doivent être insérées dans la base de données. 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
    procedure TFiche_Ajouter_Transaction.Btn_EnregistrerClick(Sender: TObject);
    var
      V_Valeur, V_Taxe, V_Sens : variant;
      I_Valeur, I_Taxe, I_Sens : integer;
    begin
      V_Valeur := DBLCB_Valeur.KeyValue; V_Taxe := DBLCB_Taxe.KeyValue; V_Sens := DBLCB_Sens.KeyValue;
      I_Valeur := V_valeur; I_Taxe := V_Taxe; I_Sens := V_Sens;
      Requete_Enregistrer.Close;
      Requete_Enregistrer.SQL.Text := 'INSERT INTO s_ent_t_e_transaction_tra ';
      Requete_Enregistrer.SQL.Add('(act_id,tax_id,sns_id,cpt_id,tra_date,tra_cours_brut,tra_nombre,tra_montant_brut),tra_montant_net )');
      Requete_Enregistrer.SQL.Add('VALUES (:IDACTION,:IDTAXE,:IDSENS,:IDCOMPTE,:DATE,:COURSBRUT,:NOMBRE,:MONTANBRUT,:MONTANT_NET;');
      Requete_Enregistrer.Params.ParamByName('IDACTION').AsInteger := I_Valeur;
      Requete_Enregistrer.Params.ParamByName('IDTAXE').AsInteger := I_Taxe;
      Requete_Enregistrer.Params.ParamByName('IDSENS').AsInteger := I_Sens;
      Requete_Enregistrer.Params.ParamByName('IDCOMPTE').AsInteger := Fiche_Accueil.Compte;
      Requete_Enregistrer.Params.ParamByName('DATE').AsDate := StrToDate(Edition_Date.Text);
      Requete_Enregistrer.Params.ParamByName('COURSBRUT').AsCurrency := StrToCurr(Edition_Cours_brut.text);
      Requete_Enregistrer.Params.ParamByName('NOMBRE').AsInteger := StrToInt(Edition_Nombre.text);
      *Requete_Enregistrer.Params.ParamByName('MONTANTBRUT').AsCurrency := StrToCurr(Edition_Montant_Brut.text);
      Requete_Enregistrer.Params.ParamByName('MONTANTNET').AsCurrency := StrToCurr(Edition_Montant_Net.text);
      Requete_Enregistrer.ExecSQL;
      Close;
    end;
    La ligne qui pose problème est celle marquée d'un astérisque. En fonctionnement en pas à pas, le point d'arrêt étant positionné sur la première ligne après begin , le programme s'arrête et la fenêtre de l'assembleur s'ouvre. Je ne suis pas capable d'analyser son contenu.

    Nom : assembleur.jpg
Affichages : 131
Taille : 113,7 Ko

    Je ne comprends pas pourquoi la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Requete_Enregistrer.Params.ParamByName('COURSBRUT').AsCurrency := StrToCurr(Edition_Cours_brut.text);
    s'exécute correctement et pas celle marquée de l'astérisque!
    J'ai essayé de changer le AsCurrency en AsFloat et rien n'y fait. La ligne marquée ne s'exécute toujours pas.
    J'espère que vous allez me dépanner et vous remercie à l'avance pour le temps que vous allez passer à rechercher la solution à mon problème.
    Michel.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Bonjour,

    Quand tu dis que la ligne ne s'exécute pas correctement, il y a un message d'erreur ou un plantage ? Si oui, quel est le message ou la nature de l'erreur ?
    Ou les valeurs enregistrées dans la base ne sont pas bonnes ?

    Quelle est la définition de la table ?

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Relis ta requête, les paramètres sont mal orthographiés. Il manque aussi la parenthèse fermante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Requete_Enregistrer.SQL.Add('VALUES (:IDACTION,:IDTAXE,:IDSENS,:IDCOMPTE,:DATE,:COURSBRUT,:NOMBRE,:MONTANTBRUT,:MONTANTNET);');

  4. #4
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 126
    Par défaut
    Merci à tous les deux pour la rapidité de votre réponse.

    • À M.Dlb : Pas de message d'erreur, juste ouverture de la fenêtre de l'assembleur avec arrêt de l'exécution.
    • À Andnotor : c'était bien ça des fautes d'écriture plus une parenthèse intempestive dans la requête.

    Tout fonctionne bien maintenant. Merci encore pour votre disponibilité.
    Michel.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/10/2006, 13h35
  2. Requète paramétrée avec résultat variable
    Par slackjayo dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 20h39
  3. Requête Paramétrée avec DropDownList
    Par kirgan dans le forum Access
    Réponses: 2
    Dernier message: 24/04/2006, 16h22
  4. [WD8] Requêtes paramétrées avec accès odbc direct
    Par devalender dans le forum WinDev
    Réponses: 5
    Dernier message: 20/12/2005, 12h25
  5. Déterminer une requête paramétrée avec LIKE
    Par priest69 dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 19h29

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