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

Windows Forms Discussion :

[VB.NET][ADO.NET] Suppression d'un enregistrement


Sujet :

Windows Forms

  1. #1
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut [VB.NET][ADO.NET] Suppression d'un enregistrement
    Bonjour,

    Voilà je suis sous VS.NET 2008 et mon application utiliser une base Access.

    Lorsque je supprime un enregistrement d'une table, cet enregistrement ce supprime bien dans le DataSet mais pas dans la base de données.

    En fait, dès que j'arrête et relance mon application, l'enregistrement revient.

    Voilà mon code de suppression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Private Sub ButtonPhaseDelete_Activate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPhaseDelete.Activate
            Dim TemplateElement As ProjectManagerDataSet.TemplatesElementsRow = FormMain.ProjectManagerDataSet.TemplatesElements.FindByTemplateElementName(ListViewElements.FocusedItem.Text)
            FormMain.ProjectManagerDataSet.TemplatesElements.RemoveTemplatesElementsRow(TemplateElement)
            FormMain.TemplatesElementsTableAdapter.Update(FormMain.ProjectManagerDataSet.TemplatesElements.Select("", "", DataViewRowState.Deleted))
            ListViewElements.SelectedItems(0).Remove()
        End Sub
    Je ne comprends pas ce qui se passe, y aurait-il une nouveauté dans 2008 ?

    Merci pour votre aide
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  2. #2
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    mets un point d'arrêt sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormMain.TemplatesElementsTableAdapter.Update(...)
    et dans la fenêtre exécution de VS exécute l'instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormMain.ProjectManagerDataSet.TemplatesElements.GetChanges(DataRowState.Deleted).Rows.Count
    Quel résultat obtiens-tu ?

    Bye

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Normal, c'est ACCESS


    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Membre actif
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Points : 283
    Points
    283
    Par défaut
    Je pense qu'il faut faire un update après avoir supprimer ton enregistrement sinon c'est uniquement dans ton dataset qu'il est supprimé mais elle est toujours présente dans la base.

  5. #5
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Il le fait son Update -> 3eme ligne

  6. #6
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Citation Envoyé par zoaax Voir le message
    Bonjour,

    mets un point d'arrêt sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormMain.TemplatesElementsTableAdapter.Update(...)
    et dans la fenêtre exécution de VS exécute l'instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormMain.ProjectManagerDataSet.TemplatesElements.GetChanges(DataRowState.Deleted).Rows.Count
    Quel résultat obtiens-tu ?

    Bye

    Merci pour ton aide!

    J'obtient le message suivant

    "Reference to a non-shared member requires an object reference"

    En fait, j'ai tout mes DataAdatper sur FormMain et je les utilises depuis d'autres WinForms et il semble que ce soit là le problème!

    Mais je comprends pas pourquoi le DataSet et les DataAdapters doivent être répéter dans chaque Winforms ?
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  7. #7
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    Bon j'ai trouvé !

    il ne faut pas utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ProjectManagerDataSet.TemplatesElements.RemoveTemplatesElementsRow(TemplateElement)
    Mais plutôt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TemplateElement.Delete()
    puis l'update derrière et tout fonctionne !
    La Théorie c'est quand on comprends tout mais que rien ne fonctionne.
    La Pratique c'est quand tout fonctionne mais qu'on ne sait pas pourquoi !

    Si vous aimez ma réponse, cliquez sur la main verte Merci

  8. #8
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Oui exact. Je suis passé au travers.
    Je me rappelle que j'avais eu le tour la première fois.

    Cool si ton problème est résolu.

    Bye

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/12/2006, 20h31
  2. [ADO.NET][SQL SERVER] Comment supprimer des enregistrements?
    Par julien37510 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 01/12/2006, 12h00
  3. [C#][ADO.NET][2.0] Comment inserer des enregistrement ....
    Par doccpu dans le forum Accès aux données
    Réponses: 2
    Dernier message: 02/03/2006, 14h39
  4. [VB.Net][ADO.Net] Pb suppression de données dans ma base
    Par Agoye dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/04/2005, 11h34
  5. [VB.NET] [ADO.NET] DataAdapter et concaténation
    Par master56 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 04/06/2004, 13h25

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