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

Entity Framework Discussion :

Données non sauvegardées dans la base


Sujet :

Entity Framework

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut Données non sauvegardées dans la base
    Bonjour,
    j'ai un projet basé sur EF et base SQL.
    J'ai créé un formulaire tout simple pour afficher et éditer des membres. Jusque-là, aucun problème.
    Seulement, dès que je crée un nouveau membre, celui-ci n'est pas enregistré dans la base de données ; aucune exception n'est levée pourtant.
    Voici le code de mon bouton Nouveau (LocalView étant une ListCollectionView contenant la liste des membres) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim NewMembre = CType(Me.LocalView.AddNew(), Membre)
    NewMembre.Nom = "Nouveau"
    NewMembre.Titre = 1
    NewMembre.Statut = 1
    NewMembre.Fonction = 1
    NewMembre.Classement = 1
    Me.LocalView.CommitNew()
    Et voici le code de mon bouton Enregistrer (db représentant bien sûr mon EntityModel) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Try
                db.SaveChanges()
                MsgBox("Les changements ont bien été enregistrés.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "Nouveau membre")
            Catch ex As Exception
                MsgBox(ex.ToString())
            End Try
    La msgbox signalant l'enregistrement des changements apparait bien mais rien n'est enregistré dans la base. Par contre, la modification d'un ou de plusieurs membres déjà présents dans la base fonctionne normalement ; les changements sont bien enregistrés dans la base.
    Que se passe-t-il ?

    Je précise que l'ID d'un membre (clé primaire) est un int auto-incrément et que je n'y touche à aucun moment dans mon code.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2006
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 582
    Points : 265
    Points
    265
    Par défaut
    Je viens de trouver la solution. Il suffit d'ajouter dans le code qui crée un nouveau membre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim NewMembre = CType(Me.LocalView.AddNew(), Membre)
    NewMembre.Nom = "Nouveau"
    NewMembre.Titre = 1
    NewMembre.Statut = 1
    NewMembre.Fonction = 1
    NewMembre.Classement = 1
    Me.LocalView.CommitNew()
    
    db.AddToMembres(NewMembre)
    Cependant, cela n'a jamais été mentionné dans les tutoriaux que j'ai pu consulter ici et là...

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    C'est pourtant bien la techniquequ'il faut appliquer, sinon comment ton context pourrait avoir connaissance de l'objet ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2016, 23h37
  2. Réponses: 1
    Dernier message: 20/05/2015, 17h09
  3. [SQL-Server] donnée non insérer dans la base mssql à partir de formulaire
    Par navalina dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 29/07/2011, 10h52
  4. Réponses: 3
    Dernier message: 08/06/2011, 00h23
  5. [MySQL] Information membre non inscrite dans la base de donnée
    Par Margouillat974 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 28/09/2006, 19h21

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