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 :

delphi adoconnection vider une table


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut delphi adoconnection vider une table
    bonsoir,
    j'utilise une BDD access avec delphi7, et je souhaite vider 2tables l'une est maitre l'autre est détail.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dm.adotdetop.DeleteRecords(arAll);
    dm.adotop.DeleteRecords(arAll);
    seulement un message d'erreur sur arall je ne sais pas pourquoi.
    j'ai essayé emptytable sa ne fonctionne pas.
    j'ai essayé avec delete seulement j'ai dû faire une boucle not eof, le problème est qu'avant la fin de table detop(table détail) il sort de la boucle sans avoir supprimer la totalité des enregistrements. et à son arrivé à la table op(table maitre) il m'indique que la table op est en relation avec une autre table et qu'il est impossible de supprimer les enregistrements.
    je souhaite recevoir votre aide.
    MERCI.
    Deux, n'apprendront pas; le timide et l'arrogant

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par hocine Voir le message
    seulement un message d'erreur sur arall je ne sais pas pourquoi.
    Quel message d'erreur ?

    Avez vous essayé
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM MaTable;
    En prenant garde à l'ordre des tables du fait de la relation Maitre Détail et qu'il ne doit pas y avoir de "delete en cascade" de paramétré au niveau des tables.
    Philippe.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    salut,
    j'ai essayé
    mais un message d'erreur qui m'indique qu'il est lié à une autre table.
    pourtant pour éviter ce message j'ai vidé la table detop enregistrement par enregistrement.
    MERCI
    Deux, n'apprendront pas; le timide et l'arrogant

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par hocine Voir le message
    j'ai essayé
    mais un message d'erreur qui m'indique qu'il est lié à une autre table.
    pourtant pour éviter ce message j'ai vidé la table detop enregistrement par enregistrement.
    Les 2 commandes sont-elle dans la même transaction, ce qui expliquerait le message d'erreur ?
    Philippe.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    salut,
    j'ai essayé une autre solution.
    en définissant la propriété ADOTop.CursorLocation dans clUseServer et appeler les ADOTop.DeleteRecords (ARALL)
    seulement une fois un message impossible sur une table fermer, j'ouvre la table un autre message impossible sur une table ouverte.
    MERCI
    Deux, n'apprendront pas; le timide et l'arrogant

  6. #6
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Vos 2 composants adotop et adotdetop sont des descendants de TCustomADODataset ?
    Avez vous des conditions de filtre dessus ?
    Avez vous essayé de passer par 2 commandes sql après avoir fermé ces ensembles de données ?
    Philippe.

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    salut,
    j'ai résolu le problème,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dm.adotdetop.open
    dm.adodetop.first
    while not(dm.adotdetop.eof) do
    dm.adotdetop.delete;
    dm.adotdetop.next;
    end;
    idem pour adotop, j'ai essayé cette méthode en premier mais sa ne marché pas, je ne sais pas pourquoi. et hier elle a marché !!!!!!!
    désolé pour votre temps.
    M E R C I.
    Deux, n'apprendront pas; le timide et l'arrogant

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    salut,
    c'est résolu.
    merci
    Deux, n'apprendront pas; le timide et l'arrogant

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

Discussions similaires

  1. [SQL] Vider une table
    Par philippef dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 22/03/2013, 19h20
  2. [MySQL] Vider une table à la fermeture du navigateur
    Par cheucher dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/03/2006, 12h20
  3. Vider une table MySQL suite à javascript:confirm()
    Par anutka dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 16/09/2005, 12h16
  4. comment vider une table de tous ses enregistrements ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/07/2005, 10h19
  5. Vider une table a une fermeture subite
    Par mimosa7 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2005, 17h13

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