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

VB.NET Discussion :

Enregistrer SelectedItems ListBox BD


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut Enregistrer SelectedItems ListBox BD
    Bonsoir chers développeurs et développeuses ,

    mon problème c'est que je possède une ListBox qui charge une liste d'entrepôts depuis la table ENTREPOT(idEntrepot , .... ) existante dans la Base de données avec la possibilité de multi-sélectionner les items . Et suite à la sélection , je voudrais récupérer tous les 'SELECTEDVALUE' des 'SelectedItems' et les insérer dans une table :
    ENTREPOT_PROJET(idProjet , idEntrepot) , soient idProjet la clé primaire de la table PROJET et idEntrepot de la table ENTREPOT .

    le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Public Sub ajouter_entrepot()
            cn.Open()
            Dim cmd As New SqlCommand
            cmd.Connection = cn
            For Each item As Object In liste_entrepot.SelectedItems
                cmd.CommandText = "insert into ENTREPOT_PROJET VALUES('" & Label8.Text & "','" & liste_entrepot.SelectedValue & "')"
                cmd.ExecuteNonQuery()
            Next
            cn.Close()
        End Sub

    on m'affiche l'erreur suivante :

    Violation de la contrainte PRIMARY KEY 'PK_ENTREPOT_PROJET'. Impossible d'insérer une clé en double dans l'objet 'dbo.ENTREPOT_PROJET'. La valeur de clé dupliquée est (3, 1).
    L'instruction a été arrêtée.


    je sais que ça a un rapport avec la clé primaire , genre on insère deux enregistrements avec les mêmes clés primaires . je ne sais pas pourquoi ..

    si vous pourriez m'aider , j'en serai très reconnaissant . je suis bloqué .

    Merci beaucoup

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu as raison c'est bien un probleme de clé primaire, tu essayes d'insérer une clé qui est déja presente dans ta base de données.

    Supprime la clé en question de ta base et tous devrais rentrer en ordre.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    Bonjour ,

    merci d'abord pour votre réponse .
    j'ai déjà vidé la table , mais le problème reste le même . Je crois que le problème provient quelque part de la boucle For Each ..

    Merci

  4. #4
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par mouadmagan Voir le message
    Bonjour ,

    merci d'abord pour votre réponse .
    j'ai déjà vidé la table , mais le problème reste le même . Je crois que le problème provient quelque part de la boucle For Each ..

    Merci
    En effet. Vous prenez toujours les 2 mêmes valeurs pour mettre dans la clause VALUES de votre requête.

    Vous faites une boucle for each, il vous faut donc utiliser la variable item que vous déclarer avec. Sans quoi, aucun intérêt d'utiliser un for each.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    oui , mais item est déclaré en tant qu'objet .. comment faire pour l'exploiter ?

    Merci

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Il faut le convertir dans le type que vous avez besoin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectCast(item,LeTypeQuiVaBien)
    A mettre dans un Try...Catch pour éviter que l'application ne plante si d'aventure item n'était pas du bon type.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    mais le problème c'est que la liste est liée à la base de données , et est projetée sur les désignations des entrepôts , et au moment de l'insertion je désire insérer les SELECTEDVALUE [ des ID ] des Items Sélectionnés .
    la boucle For Each parcourt juste la première ligne plusieurs fois , c'est pour cela qu'on m'affiche le message d'erreur .

    Comment devrait-je gérer ça ?

    merci
    Images attachées Images attachées  

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    HELP ,
    Any idea s'il vous plait

  9. #9
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1
    Par défaut
    utilise cette façon pour parcourir tes items je crois que sa résoudra tes problèmes
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach (ListItem it1 in agent_present.Items)

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Cette discussion date de plus d'un an...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. Enregistrer contenu listbox dans la base de donné
    Par GRIMPMASTER dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 15/12/2013, 19h10
  2. [Débutant] Enregistrer une listbox
    Par BonJamTam dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/01/2012, 19h48
  3. Problème sur SelectedItem+ListBox
    Par Ishizaki dans le forum Silverlight
    Réponses: 2
    Dernier message: 12/04/2010, 11h19
  4. Réponses: 2
    Dernier message: 22/09/2007, 15h37
  5. [ADO]enregistrement données listbox BDD
    Par philguio dans le forum VBA Access
    Réponses: 14
    Dernier message: 27/03/2007, 10h15

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