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

Accès aux données Discussion :

[VB.Net] Pourquoi la modification/supression dans ma BD SQl server échoue ?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [VB.Net] Pourquoi la modification/supression dans ma BD SQl server échoue ?
    Salut a vous tous
    bon voila mon probleme
    j'ai une datagrid qui se remplie a partir d'une BD SQl server
    bon l'ajout ca marche super bien
    on vien a la supression alors voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    i = DG.CurrentRowIndex
            myds.Tables("per").Rows(i).Delete()
            mybuild = New SqlCommandBuilder(myada)
            myada.Update(myds, "per")
    sachant que mybuild et deja declarer en haut avec le dataset (myds)

    alors voici l'erreur que j'ai

    Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll

    Informations supplémentaires : La génération SQL dynamique pour le DeleteCommand n'est pas prise en charge pour un SelectCommand qui ne retourne pas des informations de colonne clé.
    sachant que ma table ne contient que deux champ nom et prenom

    pour la modification c la meme chose
    Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll

    Informations supplémentaires : La génération SQL dynamique pour le UpdateCommand n'est pas prise en charge pour un SelectCommand qui ne retourne pas des informations de colonne clé.
    voici le code de la modif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    i = DG.CurrentRowIndex
            myrw = myds.Tables("per").Rows(i)
            myrw("nom") = nom.Text
            myrw("prenom") = prenom.Text
            mybuild = New SqlCommandBuilder(myada)
            myada.Update(myds, "per")
    si qlq un a une idee qu"il n'hesite pa a repondre
    merci d'avance
    Dernière modification par neguib ; 24/06/2006 à 16h11.

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    tout est dans le mesage d'erreur. TU ne peux utiliser les commans delete du sqldataadapter que si ta requete select retourne la clé primaire. Sinon il ne saura pas quel ligne supprimer de ta table.

  3. #3
    Invité
    Invité(e)
    Par défaut
    salut
    merci guitoux1 de ta reponse mai le probleme je l'ai vue c comme t'a dit mais je sais ma pa commant le resoudre
    si tu peut me mettre sur la route ca serai sympa
    merci

  4. #4
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    ben il faut que la requete SELECT que tu utilise pour remplir ton dataSet récupère la clé primaire de ta table + les données ton tu as besoin. De plus, pour que le DataAdapter génère automatiquement les requetes INSERT, UPDATE et DELETE, il ne faut pas que ta requete SELECT utilise des jointures entre plusieurs tables, ni des fonction de regroupement

  5. #5
    Invité
    Invité(e)
    Par défaut
    re
    merci guitoux1
    mais un truc moi quand je remplie la datagrid je la remplie avec une select normal et ma table n'a pa de cle primaire alors je sai pa commant lie ca avec ta reponse

  6. #6
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    ben si ta table n'a pas de clé primaire, comment tu fait pour supprimer un enregistrement unique ???

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

Discussions similaires

  1. vb.net et insertion de donnée dans une base sql plus
    Par anissabosch dans le forum VB.NET
    Réponses: 4
    Dernier message: 18/10/2007, 19h39
  2. [SERVER] Pourquoi pas de make dans mac os x server 10.4.9
    Par Khaled.Noordin dans le forum Développement OS X
    Réponses: 2
    Dernier message: 29/05/2007, 16h55
  3. Réponses: 2
    Dernier message: 15/07/2006, 12h29
  4. [VB.Net] inserer un champs bytes dans une requete sql
    Par flyer_ dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/05/2006, 09h56
  5. Réponses: 5
    Dernier message: 10/05/2006, 15h47

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