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 :

Pb de mise à jour d'une table paradox


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Pb de mise à jour d'une table paradox
    salut,

    J'aimerais mettre à jour un enregistrement précis de ma table Paradox mais n'y arrive pas. Lorsque j'utilise la méthode suivante, il modifie le premier enregistrement de ma table:
    Table.EditKey;
    table.Fieldbyname('nom').AsString:='mmmm';
    table.gotokey;

    Et lorsque j'utilise Tquery il me dit qu'il y a une "différence de type" mais j'ai bien vérifié tous les paramètres et les types correspondent:

    uDM.QueryDiminutionStockControle.Active;
    uDM.QueryDiminutionStockControle.SQL.Clear;
    uDM.QueryDiminutionStockControle.SQL.add('UPDATE controleDepot SET ENTREE=:NewQuantite WHERE PRODUIT=:produit AND POIDS=:poids AND STATUT like :statut3');
    uDM.QueryDiminutionStockControle.ParamByName('produit').AsString:=sproduit.text;
    uDM.QueryDiminutionStockControle.ParamByName('poids').AsString:=spoids.text;
    uDM.QueryDiminutionStockControle.ParamByName('statut3').AsString:='C';
    uDM.QueryDiminutionStockControle.ParamByName('NewQuantite').AsInteger:=StrToInt(q.Caption)-StrToInt(sortie.Text);
    uDM.QueryDiminutionStockControle.ExecSQL;

    Je me demande là où se trouve l'erreur.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    With uDM.QueryDiminutionStockControle do
    begin
      Close;
      SQL.Clear;
      SQL.add('UPDATE controleDepot SET ENTREE=:NewQuantite WHERE PRODUIT=:produit AND POIDS=:poids AND STATUT like :statut3');
      ParamByName('produit').AsString:=sproduit.text;
      ParamByName('poids').AsString:=spoids.text;
      ParamByName('statut3').AsString:='C';
      ParamByName('NewQuantite').AsInteger:=StrToInt(q.Caption)-StrToInt(sortie.Text);
      ExecSQL;
    end;
    Test en mettant à la place de Active, un Close

    PS: Pense à utiliser le # pour la balise Code
    Modérateur Delphi

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

  3. #3
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Une alternative sans requete SQL et si ta table est indexée sur le champ 'nom'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Table.Active := True; // optionnel si déjà fait
    Table.CancelRange; // optionnel si aucun range préalable dessus
     
    if Table.FindKey( [ 'mmm'] ) then
      begin
      Table.Edit;
      Table.FieldByName( 'Produit' ).AsString := SProduit.Text;
      etc...
      Table.Post;
      end;
    bon code
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

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

Discussions similaires

  1. mise a jour d'une table paradox avec une autre table sous delphi
    Par bobo2005 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/01/2007, 21h07
  2. Mise à jour d'une table
    Par bath dans le forum Oracle
    Réponses: 5
    Dernier message: 19/10/2005, 12h01
  3. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  4. Réponses: 5
    Dernier message: 06/01/2005, 12h07
  5. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09

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