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 :

D7/firebird 1.5 - parcours d'une table


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut D7/firebird 1.5 - parcours d'une table
    Bonjour,

    Avec des composants tibdataset, tdatasource,tdbedit:

    Dans une table de 20 colonnes, je souhaite parcourir ma table pour effacer dans deux colonnes(toujours les mêmes) toutes les données identiques de ces 2 colonnes.

    Par exemple si sur plusieurs enregistrements de ma table, je trouve 'PAPA' sur la colonne 15, alors je veux que 'PAPA' soit remplcé par un vide.

    Merci d'avance.

    Jer.

  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
    Avec un TxxxTable cela va être fastidieu et de plus en plus long au fur et à mesure que ta table va grossir.

    Le mieux c'est de passer par une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Update LaTable
    Set
      Colonne15 = null
    Where Colonne15= 'PAPA'
    Modérateur Delphi

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

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Ok pour la requête mais je n'arrive pas à la faire fonctionner.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    procedure TFormClients.Button1Click(Sender: TObject);
    begin
     
    datamodule1.IBDataSet1.Edit;
    datamodule1.IBDataSet1.ModifySQL.Add('Update corresp set correspondant=null where correspondant=''PAPA');
    datamodule1.IBDataSet1.Post;
     
    end;
    Merci d'avance.

    Jer

  4. #4
    Membre expérimenté
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Points : 1 331
    Points
    1 331
    Par défaut
    Essaye de le faire dans composant IBQuery.

    Attention le .NET sur PDA peut causer des chutes de cheveux

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Cela ne marche pas même avec un ibquery??????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    ibquery1.Close;
    ibquery1.SQL.Clear;
    ibquery1.SQL.Add('Update corresp set correspondant=null where correspondant='+''+'PAPA'+'');
    ibquery1.Open;

  6. #6
    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
    Open ce n'est qu'avec les requetes de type select que cela fonctionne, avec les requetes Update/Insert/Delete il faut utiliser une commande que je ne peux t'indiquer car IB n'est pas installé sur mon post (je viens de le voir ^^).
    Modérateur Delphi

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

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Vraiment je n'y arrive pas,

    Mon dernier essai infructueux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    ibdataset1.Edit;
    Ibdataset1.ModifySQL.Add('Update clients set CORRESPONDANT=null where CORRESPONDANT='+''''+'PAPA'+'''');
    Si quelqu'un à une idée?

    Jer

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    salut

    utilise une query sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    with querysql do begin
      sql.text:='Update corresp set correspondant=null where correspondant='+#39+'PAPA'+#39;
      execsql;
    end;
    @+
    @+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 187
    Points : 69
    Points
    69
    Par défaut
    Merci beaucoup, cela marche et c'est parfait.

    A+

    Jer

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

Discussions similaires

  1. Firebird : tester l'existence d'une table
    Par zarbouine dans le forum Bases de données
    Réponses: 9
    Dernier message: 14/09/2015, 12h48
  2. Parcours d'une table à partir d'une liste déroulante
    Par mystikgirl30 dans le forum IHM
    Réponses: 4
    Dernier message: 12/04/2007, 11h02
  3. Probléme de parcour d'une table
    Par rootdaoud dans le forum Langage
    Réponses: 3
    Dernier message: 25/12/2006, 13h24
  4. parcour d'une table et calcul date?
    Par dj_techno dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/08/2006, 09h02
  5. [JSP]erreur dans parcours d'une table
    Par lcoder dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/07/2006, 09h52

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