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

ASP.NET Discussion :

Requet UPDATE en asp.net mvc 3


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Requet UPDATE en asp.net mvc 3
    Bonjour,
    j'ai besoin de votre aide svp
    j'ai une formulaire d'inscription je veut faire un test si les donné existe deja dans ma base de donnés je fait une requet update veut que il y'a une possibilité de modifier un champs et si les données n'existent pas je fait une requet insert
    voila le code
    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
     
    public ActionResult Create(Vendeur ven, string Email, string Nom, string code, string Tel, string Adresse, string Ville, string CodePostal, string Type)
     
    {
                var test = from p in db.Vendeur
                           where p.NOM.Equals(Nom) && p.CODE.Equals(code) && p.TEL1.Equals(Tel)
                           select p;
     
                if (test != null)
                {
                   // requte update sur la table vendeur
     }
                else
                {
     
                    if (ModelState.IsValid)
                    {
                        db.Vendeur.AddObject(ven);
                        db.SaveChanges();
     
                    }
                }
     
                return View(ven);
     
            }

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Voici ce que ça donne :
    Code C# : 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
    public ActionResult Create(Vendeur ven, string Email, string Nom, string code, string Tel, string Adresse, string Ville, string CodePostal, string Type)
    {
        // Check if the Vendeur exists
        var vendeurExists = (from p in db.Vendeur
                             where p.Nom.Equals(Nom) && p.Code.Equals(code) && p.TEL1.Equals(Tel)
                             select p).Any();
        if (vendeurExists)
        {
            // Retrieve the existing Vendeur object
            var existingVendeur = (from p in db.Vendeur
                                   where p.NOM.Equals(Nom) && p.CODE.Equals(code) && p.TEL1.Equals(Tel)
                                   select p).FirstOrDefault();
            if (existingVendeur != null)
            {
                // Update the values
                existingVendeur.NOM = Nom;
                existingVendeur.CODE = code;
                existingVendeur.TEL1 = Tel;
     
                // Save changes to the database
                db.SaveChanges();
            }
        }
        else
        {
            if (ModelState.IsValid)
            {
                db.Vendeur.AddObject(ven);
                db.SaveChanges();
            }
        }
     
        return View(ven);
    }
    J'ai un peu modifié ton code. En premier lieu j'utilise la méthode Any(), qui renvoie un booléen, et qui permet de vérifier si ce qu'on cherche existe bien ou non.

    Si ça existe le booléen vaut donc true. Dans ce cas, je récupère effectivement l'objet Vendeur à mettre à jour. Je récupère donc une entité. Grâce à des mécanismes qui lui sont propres, il suffit de mettre à jour les propriétés de cette entité.

    Ensuite lorsqu'on appelle SaveChanges(), le DataContext va détecter que les valeurs ont changé et il va procéder tout seul à l'Update en base de données.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre reponce mais ça ne marche pas ni update ni insert

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Tu as une erreur qui se produit ?

    Met des points d'arrêt et debug pour voir ce qui ne fonctionne pas correctement.

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    nom y'a pas d'erreur mais quand je consulte ma base de données je ne trouve pas ni le nouveau vendeur ni la mis à jour d'un vendeur

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Met un point d'arrêt sur la ligne suivante :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    db.Vendeur.AddObject(ven);
    Est-ce que tu passes bien dessus ?

  7. #7
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    c'est ça le problème que il n'affiche aucun erreur c'est que db.Vendeur.AddObject(ven) et db.savechanges() ça marche mais réellement aucune ligne dans la base est insérer ou bien modifier

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Hmmh, peut-être parce qu'il faut rattacher les objets au Contexte...

    Essaie avec ça :
    Code C# : 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
    public ActionResult Create(Vendeur ven, string Email, string Nom, string code, string Tel, string Adresse, string Ville, string CodePostal, string Type)
    {
        // Check if the Vendeur exists
        var vendeurExists = (from p in db.Vendeur
                             where p.Nom.Equals(Nom) && p.Code.Equals(code) && p.TEL1.Equals(Tel)
                             select p).Any();
        if (vendeurExists)
        {
            // Retrieve the existing Vendeur object
            var existingVendeur = (from p in db.Vendeur
                                   where p.NOM.Equals(Nom) && p.CODE.Equals(code) && p.TEL1.Equals(Tel)
                                   select p).FirstOrDefault();
            if (existingVendeur != null)
            {
                // Update the values
                existingVendeur.NOM = Nom;
                existingVendeur.CODE = code;
                existingVendeur.TEL1 = Tel;
     
                db.Attach(existingVendeur);
                db.Context.ObjectStateManager.ChangeObjectState(existingVendeur, EntityState.Modified);
     
                // Save changes to the database
                db.SaveChanges();
            }
        }
        else
        {
            if (ModelState.IsValid)
            {
                db.Vendeur.AddToVendeurs(ven);
     
                // Save changes to the database
                db.SaveChanges();
            }
        }
     
        return View(ven);
    }
    Est-ce mieux ?

Discussions similaires

  1. ASP.NET MVC Preview 4
    Par hollywood dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 22/07/2008, 11h57
  2. Framework ASP.NET MVC
    Par superbobo dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 02/07/2008, 16h11
  3. javascript&requete SQL avec asp.net
    Par MNdevinf dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2008, 17h37
  4. ASP.NET MVC Preview 2
    Par cereal59 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 04/04/2008, 16h41
  5. Réponses: 3
    Dernier message: 12/09/2006, 15h08

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