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

ASP.NET Discussion :

suppression élément base de données


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut suppression élément base de données
    Bonjour à tous,

    j'ai créé une listbox qui est alimentée par une base de données.
    Je souhaiterai que lorsque je sélectionne un élément dans ma listbox et que je clique sur un bouton supprimer cela efface également la donnée de ma base de données.

    Merci d'avance pour vos réponses!

  2. #2
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    As tu déjà une idée comment faire ?
    Tu peux peut être écrire une méthode qui prend en argument l'élément sélectionné de la listbox, puis réaliser cette suppression via SqlDataAdapter, SqlCommandBuilder, DataRow et DataSet.

  3. #3
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Tu n'as qu'à faire une requête de suppression pour les élements selectionnés.

    Du style :

    foreach(Item _Item in this.TaListBox.Items)
    {
    if (_Item.Selected)
    {
    Suppression(_Item.Value);
    }
    }

  4. #4
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 173
    Par défaut
    Citation Envoyé par GrosseVache
    Tu n'as qu'à faire une requête de suppression pour les élements selectionnés.

    Du style :

    foreach(Item _Item in this.TaListBox.Items)
    {
    if (_Item.Selected)
    {
    Suppression(_Item.Value);
    }
    }
    non ce qu'il demande c dans la base de donnée
    bah deja tu utilises quoi comme datasource
    dataset, tableadapter ou un sqldatasource
    dans tous les cas il y a une méthode que tu peux configurer
    pr sqldatasource
    regardes sur l'msdn
    a delete, deleteparameters, enfin utilises VS en design c tres intuitif

  5. #5
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Soit il est directement lié via une datasource, et dans ce cas là, il faut voir avec l'objet adéquat, soit il faut que la methode Suppression() execute la suppression en base de donnée

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 69
    Par défaut
    VOila une fonction qui te supprime un enregistrement de la base de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public void supp_sql(string Req_sup)
        {
            OleDbConnection connection = new OleDbConnection(ConfigurationSettings.AppSettings["CONNECT_BDD"]);
            OleDbCommand command = new OleDbCommand(Req_sup);
            command.Connection = connection;
            try
            {
                connection.Open();
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            connection.Close();
        }
    Il suffit en suite d'appeler la fonction ave la requêtye de suppression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requete="delete from....where nom='"+listbox.value+"';
    supp_sql(requete)
    Voila à toi de jouer

  7. #7
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 173
    Par défaut
    Claire07 mais cela est possible sans avoir recours a du code
    enfin je prefere du moin

  8. #8
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    Voilà un petit exemple qui illustre ce à quoi je pense..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SqlConnection cnx = GetConnexion();
    string strSQL = "SELECT * FROM BIDULE WHERE ID_bidule=" + BiduleSelectedID;
     
    SqlDataAdapter da = new SqlDataAdapter(strSQL, cnx);
     
    SqlCommandBuilder cmd = new SqlCommandBuilder(da);
    da.InsertCommand = cmd.GetInsertCommand();
    da.UpdateCommand = cmd.GetUpdateCommand();
    da.DeleteCommand = cmd.GetDeleteCommand();
     
    DataSet ds = new DataSet();
    da.Fill(ds);
     
    DataRow r = ds.Tables[0].Row[0].Delete();
    ds.AccepteChange();
    da.Update(ds);
    Sachant qu'ici je récupère une connexion ouverte vers la base de données..

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut
    mon problème est que je n'arrive pas à récupérer la valeur qui est selectionnée dans la listbox. J'ai essayé
    listbox.selectitem.value ou
    listbox.selectitem.text ou
    listbox.selectvalue

    mais aucune de ces synthaxes ne fonctionnent!

  10. #10
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    Comment as tu alimenter ta ListBox? via les assistants en mode design ou en code behind?

    PS: Il faut accèder au SelectedValue via le nom de la ListBox, par exemple ListBox1.SelectedValue

  11. #11
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 173
    Par défaut
    listbox.SelectedValue marche si tu as bien renseigné les valeurs l'ID de la cléprimaire je suppose

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut
    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    OdbcCommand com = new OdbcCommand("SELECT no_utils FROM utilisateurs WHERE nom_utils = '" + utilisateurs.SelectedItem + "'", conn);
            OdbcDataReader read = com.ExecuteReader();
     
            read.Read();
     
            if (read.IsDBNull(0) == false)
            {
                no_utils = read.GetInt32(0);
                read.Close();
                com.Dispose();            
     
                OdbcCommand cmd = new OdbcCommand("DELETE FROM utilisateurs WHERE no_utils = '" + no_utils + "' ", conn);
                cmd.ExecuteNonQuery();
                Response.Write("<script>alert('L'utilisateur a bien été supprimé')</script>");
                utilisateurs.Items.Clear();
                //met à jour la liste des utilisateurs après la suppression
                charger_liste_utils();
     
            }
            else
            {
                read.Close();
                Response.Write("<script>alert('Aucun élément n'a été sélectionné')</script>");
            }
    Le problème vient du selectitem.Lorsque j'essaie de supprimer il m'indique une erreur dessus .

  13. #13
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Récupération des elements selectionnés dans une ListBox, je l'avais mis plus haut

    ArrayList ListeValue = new ArrayList();
    foreach(Item _Item in this.TaListBox.Items)
    {
    if (_Item.Selected)
    {
    ListeValue.Add(_Item.Value);
    }
    }

  14. #14
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    Citation Envoyé par momomafioso
    Le problème vient du selectitem.Lorsque j'essaie de supprimer il m'indique une erreur dessus .
    Une erreur au niveau du type.. .SelectedItem renvoi un ListItem, dans ce cas il te faudrait plutôt un string ou un int à caster.
    J'aurais plutôt choisi utilisateurs.SelectedValue pour ma part.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut
    Je ne peux pas créer le type ArrayList, il n'est pas détecté.
    Y-a-t-il un using spécifique à ajouter pour son utilisation?

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut
    Avec le selectedvalue, il me met une erreur sur la ligne,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (read.IsDBNull(0) == false)
    voici l'erreur : Aucune donnée n'existe pour la ligne/colonne.

  17. #17
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    Citation Envoyé par momomafioso
    Je ne peux pas créer le type ArrayList, il n'est pas détecté.
    Y-a-t-il un using spécifique à ajouter pour son utilisation?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Collections;

  18. #18
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Il faudrait que tu donnes ton code pour qu'on puisse l'analyser

  19. #19
    Membre éclairé Avatar de Asiany
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Par défaut
    Utilises tu le débogueur? avec point d'arrêt pour savoir que vaut ton .SelectedValue ? J'en doute..

    Comment as tu remplit ta listbox ? en mode design ou code behind?

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 84
    Par défaut
    Voici comment je remplis ma listbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            OdbcCommand cmd = new OdbcCommand("SELECT nom_utils FROM utilisateurs ORDER BY 1", conn);
            OdbcDataReader reader = cmd.ExecuteReader();
     
            utilisateurs.Items.Clear();
            while (reader.Read())
            {
                utilisateurs.Items.Add(reader.GetString(0));
            }
            reader.Close();
            cmd.Dispose();

Discussions similaires

  1. Suppression de tables dans une base de données Mysl
    Par Furius dans le forum Requêtes
    Réponses: 6
    Dernier message: 07/06/2013, 10h34
  2. [Sencha] Mettre à jour élément base de données
    Par maxusn dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 23/01/2013, 11h39
  3. [MySQL] suppression de base de donné
    Par sousou87 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/05/2011, 20h10
  4. Suppression de base de données.
    Par NejNej dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/12/2009, 17h55
  5. suppression base de donnée
    Par donny dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 31/07/2005, 10h55

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