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

ADO.NET Discussion :

Problème d'ajout des données avec ado.net


Sujet :

ADO.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut Problème d'ajout des données avec ado.net
    Bonjour,
    je suis entrain de développer une application aspt.net avec ado.net j'ai créer une petite base de données avec 6 tables :
    et je l'ai généré avec Ado.net entity data model le problème que j'ai c'est quand j'essaye d'ajouter par exemple un utilisateur le code marche pas, et c'est le cas qu'on j'essaye de Lister la liste des utilisateurs ça retourne une exception NullRefereceException voila le code dans mon contrôleur :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    namespace MindicePro.Controllers
    {
        public class AdminController : Controller
        {
     
            private MindicePro.Models.ProjetEntities _db;
            //
            // GET: /Admin/
     
            public ActionResult Index()
            {
                ViewData["user"] = Session["idUser"];
                return View();
            }
     
            //
            // GET: /Admin/Details/5
     
            public ActionResult Details(int id)
            {
                return View();
            }
     
            //
            // GET: /Admin/Create
     
            public ActionResult Create()
            {
                return View();
            } 
            //
            //LIST DES USERS
     
            public ActionResult List()
            {
                return View();
            }
            //
            // POST: /Admin/Create
     
            [AcceptVerbs(HttpVerbs.Post)]
            public ActionResult Create([Bind(Exclude = "Id")] UTILISATEUR userToCreate)
            {
                try
                {
                        // TODO: Add insert logic here
                    _db.AddToUTILISATEUR(userToCreate);
                    _db.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View();
                }
            }
    }
    est-ce quelqu'un a une idée ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Tu n'as pas initialisé _db, donc il vaut null

    Initialise le dans le constructeur, ou directement à la déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private MindicePro.Models.ProjetEntities _db = new MindicePro.Models.ProjetEntities();

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut
    Merci pour votre réponse Tomlev
    mais le problème persiste toujours, et je me demande s'il y a une méthode qui permet d'afficher par exemple la liste des services au lieu de la valeur de clé étrangère qui se trouve dans la table Utilisateurs. C'est à dire que je veux utiliser la jointure entre la table Service et Utilisateur pour afficher les différents services, comme ça l'utilisateur sera plus alaise au moment du choix du service, et cela en utilisant entity framework ?
    car pour l'instant pour ajouter un nouveau utilisateur je suis obligé d'entrer la valeur de la clé étrangère
    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par ahmedbj Voir le message
    mais le problème persiste toujours
    Même exception, au même endroit ?
    Peux-tu poster la Stacktrace de l'exception ?

    Citation Envoyé par ahmedbj Voir le message
    et je me demande s'il y a une méthode qui permet d'afficher par exemple la liste des services au lieu de la valeur de clé étrangère qui se trouve dans la table Utilisateurs. C'est à dire que je veux utiliser la jointure entre la table Service et Utilisateur pour afficher les différents services, comme ça l'utilisateur sera plus alaise au moment du choix du service, et cela en utilisant entity framework ?
    car pour l'instant pour ajouter un nouveau utilisateur je suis obligé d'entrer la valeur de la clé étrangère
    Merci
    Euh, sûrement, mais je ne suis pas expert en ASP.NET MVC... il me semble qu'il faut que tu mettes la liste des services dans les données de la vue, et que tu affiches une liste déroulante à partir de ces données. De toutes façons, ce n'est pas lié à ton problème d'origine a priori, il vaudrait mieux poser cette question dans le forum ASP.NET MVC

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Même exception, au même endroit ?
    Peux-tu poster la Stacktrace de l'exception ?


    la voici :

    et merci pour votre soutient

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    C'est pas ça la StackTrace... c'est une propriété de l'exception. Dans le dialogue qui s'affiche, clique sur le lien "Afficher les détails", copie le contenu de la propriété StackTrace, et poste le ici

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut
    L'exception System.NullReferenceException n'a pas été gérée par le code utilisateur
    Message=La référence d'objet n'est pas définie à une instance d'un objet.
    Source=App_Web_b5gjbxme
    StackTrace:
    à ASP.views_admin_list_aspx.__RenderContent2(HtmlTextWriter __w, Control parameterContainer) dans c:\Users\Ahmed BENTAJER\Documents\Visual Studio 2010\Projects\MindicePro\MindicePro\Views\Admin\List.aspx:ligne 28
    à System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
    à System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
    à System.Web.UI.Control.Render(HtmlTextWriter writer)
    à System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
    à ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) dans c:\Users\Ahmed BENTAJER\Documents\Visual Studio 2010\Projects\MindicePro\MindicePro\Views\Shared\Site.Master:ligne 28
    à System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
    à System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
    à System.Web.UI.Control.Render(HtmlTextWriter writer)
    à System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
    à System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
    à System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
    à System.Web.UI.Page.Render(HtmlTextWriter writer)
    à System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer)
    à System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
    à System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
    à System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    InnerException:

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Aïe

    En tous cas l'erreur est dans la vue, pas dans le contrôleur. Poste le code de la vue, en montrant bien quelle est la ligne 28 où l'exception se produit.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut
    Bonjour,
    voici le code de ma page :
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MindicePro.Models.SERVICES>>" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    	List
    </asp:Content>
     
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
     
        <h2>List</h2>
     
        <table>
            <tr>
                <th></th>
                <th>
                    IDSERVICE
                </th>
                <th>
                    LIBELLESERVICE
                </th>
                <th>
                    ACTIVITE
                </th>
                <th>
                    DESCRIPTIONROLE
                </th>
            </tr>
     
        <% foreach (var item in Model) { %>
     
            <tr>
                <td>
                    <%: Html.ActionLink("Edit", "Edit", new { id=item.IDSERVICE }) %> |
                    <%: Html.ActionLink("Details", "Details", new { id=item.IDSERVICE })%> |
                    <%: Html.ActionLink("Delete", "Delete", new { id=item.IDSERVICE })%>
                </td>
                <td>
                    <%: String.Format("{0:F}", item.IDSERVICE) %>
                </td>
                <td>
                    <%: item.LIBELLESERVICE %>
                </td>
                <td>
                    <%: item.ACTIVITE %>
                </td>
                <td>
                    <%: item.DESCRIPTIONROLE %>
                </td>
            </tr>
     
        <% } %>
     
        </table>
     
        <p>
            <%: Html.ActionLink("Create New", "Create") %>
        </p>
     
    </asp:Content>
    j'éspère qu'il y aura pas quelque chose de grave :S
    et Merci pour le soutient

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    OK, a priori ça doit être Model qui vaut null, et donc ça pète au début du foreach

    Dans ton contrôleur, il faut que tu fournisses le modèle en paramètre de View :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            public ActionResult List()
            {
                return View(_db.SERVICES);
            }

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par tomlev Voir le message
    OK, a priori ça doit être Model qui vaut null, et donc ça pète au début du foreach

    Dans ton contrôleur, il faut que tu fournisses le modèle en paramètre de View :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            public ActionResult List()
            {
                return View(_db.SERVICES);
            }
    Le problème est résolu merci pour votre soutient

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

Discussions similaires

  1. Problème de sauvegarde des données avec ADO.net
    Par xave4552 dans le forum Framework .NET
    Réponses: 2
    Dernier message: 20/02/2013, 05h26
  2. [AC-2003] Problème de mise jour à des données avec ADO
    Par @omzo dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/06/2010, 14h25
  3. Ajouter des données avec .Net RIA Services
    Par Invité dans le forum Silverlight
    Réponses: 10
    Dernier message: 21/09/2009, 10h16
  4. probléme d'ajout des données
    Par biologiste dans le forum Requêtes
    Réponses: 1
    Dernier message: 14/06/2008, 03h09
  5. Réponses: 1
    Dernier message: 21/03/2007, 17h43

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