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# Discussion :

supression d'un enregistrement


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut supression d'un enregistrement
    Bonjour, pour supprimer une enregistrement dans une base de donnée sql server 2005..

    J’ai utilisé cette requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     // Chaîne de connexion
                        string connectString = @"Data Source=xxxx;Initial Catalog=ttot;Integrated Security=True";
                        // Objet connection
                        SqlConnection connection = new SqlConnection(connectString);
                        // Ouverture
                        connection.Open();
                        // Fermeture connection
                        connection.Close();
                        SqlCommand command = new SqlCommand("DELETE * FROM [A] and [B] WHERE ([ID_ville]='" + comboBox_supprimer.Text + "');", connection);
     
                        command.ExecuteNonQuery();
    ca march pas

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "delete from MaTable where Condition"

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    pas besoin d'utilisé une requête paramétré...:....

  4. #4
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par pauvremen Voir le message
    pas besoin d'utiliser une requête paramétrée...:....
    bien sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "delete from Matable where mon_champ = @champ"

  5. #5
    Membre chevronné Avatar de _PascalC_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 220
    Par défaut
    salut, pense aussi à fermer ta connexion quand tu en as plus besoin et non avant .
    Dans ton exemple place connection.close() après ExecuteNonQuery().

    Petite info, je te conseille d'utiliser plutôt un SqlParameter pour la condition de ta requête. Pourquoi ? si comboBox_supprimer.Text contient une apostrophe ta requête va cracher. Tu peux le gérer toi même bien sûr en doublant l'apostrophe quand c'est nécessaire mais on a déjà ce qu'il faut dans le framework pour contourner le problème . Tu peux le faire de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SqlCommand command = new SqlCommand("DELETE FROM MaTable WHERE ID_Ville=@Ville", connection);
    command.Parameters.Add(new SqlParameter("@Ville", comboBox_supprimer.Text));
    command.ExecuteNonQuery();

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    ca fonctionne marci fally & _PascalC_ ..
    maintenent j'ai un autre souci c'est quand j'exécute ma requête il faut que je quitte l'application et la relancer pour avoir le résultat...
    merci

  7. #7
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par pauvremen Voir le message
    j'ai un autre souci c'est quand j'exécute ma requête il faut que je quitte l'application et la relancer pour avoir le résultat...
    merci
    tu utilises une datagridview, une listview.....? si oui, il te suffit de la recharger

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    oui c'est une datagridview, comment je dois faire pour la recharger.
    merci

  9. #9
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par pauvremen Voir le message
    oui c'est une datagridview, comment je dois faire pour la recharger.
    merci
    tu réécris le même code que tu avais écris pour le charger la 1ere fois ( ou bien si c'est une méthode, tu rappelles cette méthode) juste après le ExecuteNonQuery

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    je fait ce code pour suprimmer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string connectString = @"Data Source=xxxx;Initial Catalog=ttot;Integrated Security=True";
                        // Objet connection
                        SqlConnection connection = new SqlConnection(connectString);
                        // Ouverture
                        connection.Open();
                        // Fermeture connection
                        connection.Close();
     
    SqlCommand command = new SqlCommand("DELETE FROM MaTable WHERE ID_Ville=@Ville", connection);
    command.Parameters.Add(new SqlParameter("@Ville", comboBox_supprimer.Text));
    command.ExecuteNonQuery();
    je dois ecrire quoi aprés command.ExecuteNonQuery().

    merci

  11. #11
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Je suppose que tu as quand même affiché les éléments de ta grid au load de la form, et que c'est après cela que tu permets de supprimer; donc voila :
    tu dois avoir une méthode pour recharger ta grid (tout comme pour supprimer), d'ailleurrs le code pour supprimer devrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void Supprimer()
    {
    string connectString = @"Data Source=xxxx;Initial Catalog=ttot;Integrated Security=True";
                        // Objet connection
                        SqlConnection connection = new SqlConnection(connectString);
                        // Ouverture
                        connection.Open();
                        // Fermeture connection
                        connection.Close();
     
    SqlCommand command = new SqlCommand("DELETE FROM MaTable WHERE ID_Ville=@Ville", connection);
    command.Parameters.Add(new SqlParameter("@Ville", comboBox_supprimer.Text));
    command.ExecuteNonQuery();
    }
    comme cela, derriere ton bouton "supprimer" tu appelles juste Supprimer();
    donc faudra faire de même pour l'affichage des données de ta bdd dans ta grid et donc juste après l'appel du Supprimer(), il y aura (par exemple) Charger();
    En espérant avoir été clair

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    j'avoue que je sius perdu, j'ai rien pigé.

    sachant que j'ai le même probleme quand je rajoute un enregistrement, il faut que a chaque fois que je quitte l'appli pour que ma grill se met ajour...
    merci

  13. #13
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par pauvremen Voir le message
    j'avoue que je sius perdu, j'ai rien pigé.
    sachant que j'ai le même probleme quand je rajoute un enregistrement, il faut que a chaque fois que je quitte l'appli pour que ma grill se met ajour...
    merci
    Bon ok, montre le code pour charger ta grid? Comment fais tu pour afficher les éléments?

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    Alors voilà, j'ai un datagridview qui est lié à une table de ma base de données via un data adapter (tout cela générer par Studio 2005). l'affichage se fait parfaitement mais, lorsque j'ajoute, je modifie ou je supprime des données.
    il faut que je quitte l'appli et la relancer pour avoir datagridview a jour,
    le code pour afficher la datagridview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     void MainFormLoad(object sender, EventArgs e)
            {
                // TODO: This line of code loads data into the 'hafidDataSet.Table_Project' table. You can move, or remove it, as needed.
                this.table_ProjectTableAdapter.Fill(this.hafidDataSet.Table_Project);
    merci

  15. #15
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Après le ExecuteNonQuery de la suppression, remets ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.table_ProjectTableAdapter.Fill(this.hafidDataSet.Table_Project);

  16. #16
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    j'ai essayé ca mais il ne reconnais pas , j'ai un message d'erreur
    [CODE]add_project' does not contain a definition for 'table_ProjectTableAdapter[CODE],
    sachant que la datagridview et la requête soit pour ajouter ou suprimmer ne sont pas dans la même From.

  17. #17
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Citation Envoyé par pauvremen Voir le message
    j'ai essayé ca mais il ne reconnais pas , j'ai un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    add_project' does not contain a definition for 'table_ProjectTableAdapter
    ,
    sachant que la datagridview et la requête soit pour ajouter ou suprimmer ne sont pas dans la même From.
    Oui, c'est normal; explique alors un peu comment tu procèdes pour ajouter, supprimer....

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 79
    Par défaut
    sur la MainFrom j'ai une datagridview qu’est lier a une table, sur la même from j'ai un bouton ajouter projet, quand je click sur ce bouton une fenêtre s ouvre "add_project" sur cette fenêtre j'ai des textbox pour la saisie et un bouton pour valider et sur ce bouton que j'écris ma requête..
    pour supprimer c'est la même chose..
    j'espère c'est ce que t'as besoin de savoir

    thank's

  19. #19
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Tu dois alors faire un ShowDialog de ta form add_project

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    add_project f = new add_project();
    f.ShowDialog();
    this.table_ProjectTableAdapter.Fill(this.hafidDataSet.Table_Project);

Discussions similaires

  1. [WD18] supression d'un enregistrement dans une table avec un combobox
    Par codefree dans le forum WinDev
    Réponses: 1
    Dernier message: 26/03/2015, 23h43
  2. [AC-2007] supression d'un enregistrement dans un formulaire continu
    Par alex77140 dans le forum IHM
    Réponses: 5
    Dernier message: 03/07/2009, 07h46
  3. Réponses: 2
    Dernier message: 10/04/2007, 13h03
  4. [MySQL] supression d'enregistrement
    Par ph_anrys dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/09/2005, 19h18
  5. Confirmation de supression d'enregistrement
    Par Lux interior dans le forum XMLRAD
    Réponses: 3
    Dernier message: 25/04/2003, 16h01

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