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

Linq Discussion :

insert "Violation of PRIMARY KEY constraint,Cannot insert duplicate key in object"


Sujet :

Linq

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2009
    Messages
    245
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 245
    Points : 94
    Points
    94
    Par défaut insert "Violation of PRIMARY KEY constraint,Cannot insert duplicate key in object"
    Bonjour,

    Je suis face à un problème : J'ai un message d'erreur "Violation of PRIMARY KEY constraint,Cannot insert duplicate key in object" lors d'un insert.

    Notez que l'id n'est pas en auto incrément, donc je vais récupérer le dernier Id pour générer le nouveau.
    Je ne sais pas si c'est parce que le lors du 1er insert, le schema sql linq n'est pas à jour et donc je récupère le même dernier id de la table..

    J'ai une méthode qui permet d'insérer un objet avec linqtosql. J'appelle cette méthode via une requête ajax pour chaque objet à insérer.

    Voici le code pour ma méthode ajax :

    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
    foreach ...
    {
        $.ajax({
            type: 'POST',
            url: 'Default.aspx/Method',
            contentType: 'application/json; charset=utf-8',
            dataType: "json",
            data: JSON.stringify({
            data1: test,
            data2: test2,
             ...
            }),
     
            success: function (data)
            {
            },
            error: function ()
            {
                alert('La requête n\'a pas abouti');
            }
        });
    }
    et voici la webmethod coté c#
    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
    var idNew = (from c in db.OBJECT
                         orderby c.id descending
                         select c.id).First();
     
            // construct object
            OBJECT obj = new OBJECT
            {
                id = idNew + 1,
                data1 = test1,
                data2 = test2
                ...
            };
     
            db.OBJECT.InsertOnSubmit(obj);
     
            // Submit change to the database
            try
            {
                db.SubmitChanges();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
    si vous avez des idées. Merci.

  2. #2
    Membre éprouvé Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Points : 1 118
    Points
    1 118
    Par défaut
    Bonjour, tu va chercher le dernier ou l'id max?

    Edit : pardon j'avais pas vu le code Linq XD, effectivement tu va chercher le max.
    "Le train de tes injures roule sur le rail de mon indifférence."

    "Monde de merde !!"

    Georges Abitbol.

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2009
    Messages
    245
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 245
    Points : 94
    Points
    94
    Par défaut
    Tu m'a fait de l'espoir

    Up

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/06/2015, 14h44
  2. [2012] MERGE - Violation of PRIMARY KEY constraint
    Par vinch999 dans le forum Développement
    Réponses: 2
    Dernier message: 21/01/2015, 10h35
  3. Violation of PRIMARY KEY constraint
    Par DEV-10 dans le forum Développement
    Réponses: 6
    Dernier message: 30/11/2009, 15h01
  4. Message d'erreur 'violation of FOREIGN KEY constraint' de Interbase
    Par abdelghani_k dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/06/2007, 09h11
  5. [MySQL] Insertion de doublon avec primary key
    Par darkbob dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2006, 16h38

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