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 :

Probleme de MAJ lors de la suppression de donnée


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Probleme de MAJ lors de la suppression de donnée
    Salut

    Voila j'ai un petit probleme de base de donnée..
    J'ai un formulaire avec un datagridview qui charge les données.
    J'ai un bouton supprimer
    j'ai aussi un TableBindingSource, TableAdapter, et bien sur un DataSet

    Lorsque je clique sur le bouton supprimer voici le code qui s'execute

    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
        Private Sub btnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupprimer.Click
     
            Dim réponse As DialogResult 'ouvre une boite de confirmation
            réponse = MsgBox("Voulez-vous réellement supprimer l'entrée", 1 + 64, "Supprimer")
     
            If réponse = 1 Then 'Evenement Si OK
     
                Me.Validate()
                Me.Table1BindingSource.RemoveCurrent()
                Me.Table1BindingSource.EndEdit()
                Me.Table1TableAdapter.Update(LivreDataSet.Table1)
                Me.LivreDataSet.Table1.AcceptChanges()
     
            End If
     
        End Sub
    Seulement cela m'affiche un message d'erreur :
    "Update requiert un DeleteCommand valide lors du passage de la collection DataRow avec des lignes supprimées."

    et qui viens de la ligne "Me.Table1TableAdapter.Update(LivreDataSet.Table1)"

    j'ai essayé plusieurs autre possibilité de suppression, seulement ça me supprime la ligne sur le datagridview mais pas dans la base de donnée...

    Comment faire?

  2. #2
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    Tu peux essayer ceci :
    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
     
    Dim cnx As New OleDbConnection
            Dim cmd = New OleDbCommand("Delete * from Fournisseur where Nom_frs='" & Cbxnomfrs.Text & "'", cnx)
            Try
                cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrateur.STANDARD\Mes documents\Projet Budget\Budget\Budget\Marches.mdb"
                cnx.Open()
                cmd.connection = cnx
                cmd.executenonquery()
                MsgBox("Le fournisseur a été supprimé avec succès", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally
                If Not (cnx Is Nothing) Then
                    cnx.Close()
                End If
            End Try
            Me.Validate()
            Me.FournisseurBindingSource.RemoveCurrent()
            Me.FournisseurTableAdapter.Update(MarchesDataSet)
            Frmprincipale.Show()
            Me.Close()
        End Sub

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Il faut que tu définisses la propriété DeleteCommand de ton adapter pour qu'il sache comment supprimer les données qui doivent l'être lors de l'appel de la méthode Update.
    Tu utilises un DataSet généré par VS ou un DataSet rempli à la main ? Si tu génères le DataSet en utilisant les fonctionnalités "source de données" de VS, tu n'auras pas ce problème. J'utilise cette méthode pour des DataSet liés à SQL Server et Oracle, en utilisant VS 2005.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    loverdev, ta méthode permet de supprimer des lignes indépendament d'un DataSet, or dans le cas présent, il s'agit d'un DataSet dont la propriété DeleteCommand n'est pas renseignée.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Tout d'abord Merci de me venir en aide...

    Pour le dataset, j'utilise celui généré par VS

    ce que je comprend pas c'est pourquoi ce message d'erreur alors que j'utilise la meme méthode pour ajouter les informations et que ça fonctionne nickel lors d'une clic sur le bouton ajouter d'un autre formulaire lié a la BD...

    et par la meme occasion, j'ai aussi un bouton modifier, j'arrive à remplir les differents champs du formulaire avec les infomations de la ligne selectionné du DataGridView, mais comment faire pour mettre a jour cette ligne lors de la validation...

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Cet article devrait t'aider alors : http://msdn.microsoft.com/msdnmag/is...02/DataPoints/
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Ca m'enerve cette phrase
    "Update requiert un DeleteCommand valide lors du passage de la collection DataRow avec des lignes supprimées."

    Pourtant j'utilise la méthode TableAdapter.Update(SystemData.DataTable)
    J'ai mon Gridview, je supprime une ligne avec DataBindingSource.RemoveCurrent

    j'utilise le Update et sa marche pas...
    je comprend pas

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/11/2011, 11h51
  2. Probleme de decimal lors d'un transfere de données entre sqlserver et ase
    Par pb_inge dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 26/10/2011, 17h12
  3. Réponses: 15
    Dernier message: 05/05/2006, 09h13
  4. [JDBC] Problème lors d'un suppression
    Par Cyborg289 dans le forum JDBC
    Réponses: 5
    Dernier message: 13/09/2005, 10h06
  5. Probleme lors d'une suppression
    Par DrTank dans le forum Langage SQL
    Réponses: 5
    Dernier message: 21/04/2005, 17h38

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