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

C++Builder Discussion :

Suppression d'un enregistrement en double avec BDE


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de devlopassion
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2006
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Août 2006
    Messages : 576
    Par défaut Suppression d'un enregistrement en double avec BDE
    bonjour,
    - je voulais supprimer un enregistrement d'une table BDE Table1 , en utilisant la commande "Table1->Delete();" , ça marche trés bien mais seulement si l'enregistrement en question n'est pas en double.
    - s'il existe deux enregistrements identique cette fonction "Delete()", génére un message d'erreur.
    pourquoi?
    et s'il existe une autre solution?
    MERCI

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Utilise un TQuery et effectue une requete SQL pour supprimer tes lignes.

  3. #3
    Membre éclairé Avatar de devlopassion
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2006
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Août 2006
    Messages : 576
    Par défaut
    -merci mon ami, mais il y a deux probleme :

    01) si je fais une requete de recherche pour supprimer un enregistrement , et cet enregistrement et en double , alors tous les deux seront supprimer , et moi je veux supprimer qu'un seule.

    02) qu'elle est l'expression SQL pour supprimer un enregistrement.
    et encore merci camarade

    Citation Envoyé par sat83 Voir le message
    Utilise un TQuery et effectue une requete SQL pour supprimer tes lignes.

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Effectivement, si tes deux enregistrements sont 100% identiques, la requete SQL supprimera les deux enregistrements. D'où l'intérêt de toujours avoir une clé primaire unique dans ses tables pour différentier chaque enregistrement.

    Donc si tes deux enregistrements sont identiques a 100% (tous les champs identiques) il n'y a pas (a mon avis) de solution pour en supprimer qu'un seul via SQL.

    Pour supprimer un enregistrement la requête est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM nomtable WHERE conditions
    En utilisant un TQuery appelé MyQuery :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    myQuery->Active = false;
    myQuery->SQL->Clear();
    myQuery->SQL->Add("DELETE FROM MaTable");
    myQuery->SQL->Add("WHERE MonChamp = 15" ) ;
    try
    {
       myQuery->ExecSQL() ;
    }
    catch(...) { /*Gestion Exception */ }

  5. #5
    Membre éclairé Avatar de devlopassion
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Août 2006
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Août 2006
    Messages : 576
    Par défaut
    merci bq mon ami
    je croit que la solution donc , et d'ajouter un index unique
    encore merci camarade

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

Discussions similaires

  1. Suppression logique d'enregistrement avec Spring
    Par jiddou dans le forum Spring Web
    Réponses: 1
    Dernier message: 13/06/2016, 17h38
  2. [2014] Relation double avec mise à jour et suppression en cascade
    Par ypelissier dans le forum Développement
    Réponses: 4
    Dernier message: 19/02/2015, 09h43
  3. Gestion de la suppression d'un enregistrement avec le type 2
    Par ryosakasaki7777 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 27/01/2014, 23h25
  4. Réponses: 1
    Dernier message: 23/08/2006, 20h11
  5. comment creer un alias dynamique avec BDE et ODBC
    Par david33 dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/07/2002, 11h50

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