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

C# Discussion :

Violation de l'accès concurrentiel : DeleteCommand a affecté 0 des enregistrements 1 attendus


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 66
    Par défaut Violation de l'accès concurrentiel : DeleteCommand a affecté 0 des enregistrements 1 attendus
    Bonjour,

    J'obtiens l'erreur :

    L'exception DBConcurrencyException n'a pas été gérée.
    Violation de l'accès concurrentiel : DeleteCommand a affecté 0 des enregistrements 1 attendus.
    Sur mon programme qui est un simple logiciel de listing contacts avec un dataSet.

    L'erreur est présente au moment ou j'ajoute un enregistrement et que je le modifie ou supprime après avoir inséré quelques données.

    Voici la structure de la table :



    Visual Studio 2010, C# et SQL Server 2008 Express utilisés.

    Merci de votre aide!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 82
    Par défaut
    Un petit peu de code pour nous élcairer...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 66
    Par défaut
    Voici le code du bouton de sauveguarde ou se produit l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void rechercheEmploiBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
                this.Validate();
                this.rechercheEmploiBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.czechTatraProjectDataSet);
    }
    L'erreur se produit sur le updateAll.

    Ce qui est bizzarre c'est que quand j'ajoute et que je sauvegarde, pas d'erreurs, mais si j'ai le malheur de modifier ou supprimer la fiche que je viens d'ajouter, j'ai cette exception.

    Si je modifie ou supprime une autre fiche antérieure qui n'a rien à voir avec celle que j'ai ajoutée, tout va bien...

    Dans le fond j'ai bêtement créé une table avec un dataset et glissé / déposé les champs de la table sur mon form.

    ça me crée les textbox, labels, etc à la volée ainsi qu'une barre de défilement qui permet de faire apparaître les différents enregistrements en haut de mon form.

    Cette barre de défilement sert également à ajouter, modifier ou supprimer des enregistrements.

    Si y'a besoin d'autre chose, dites moi.

    Merci d'avance.

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Le problème vient probablement du fait que tu n'ais pas récupéré la valeur de OffreId (que je supppose autoIncrémenté) après l'insertion.

    La manière de récupérer l'auto-incrément dépend du SGBD. Quel est-il?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 66
    Par défaut
    Salut, c'est SQL Server 2008 Express.

  6. #6
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Pas de chance : Je ne pratique qu'Access, Oracle et MySql.

    Déduit d'une recherche rapide sur le web, ca pourrait donner ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this.tableAdapterManager.InsertCommand.CommandText+=
       " SET @OffreID = SCOPE_IDENTITY()";
    SqlParameter OffreIdParameter=new SqlParameter("@OffreID",SqlDbType.Int);
    OffreIdParameter.Direction = ParameterDirection.Output;
    this.tableAdapterManager.InsertCommand.Parameters.Add(OffreIdParameter);

Discussions similaires

  1. oleDB - Violation de l'accès concurrentiel
    Par JbTech dans le forum VB.NET
    Réponses: 2
    Dernier message: 25/05/2010, 17h05
  2. Réponses: 0
    Dernier message: 20/05/2010, 10h46
  3. ErrorMessage : Violation de l'accès concurrentiel
    Par mohamed301084 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/04/2010, 10h46
  4. Problème de "Violation de l'accès concurrentiel"
    Par Marc_27 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/06/2009, 16h24
  5. Violation de l'acces concurrentiel
    Par bilou972 dans le forum C#
    Réponses: 3
    Dernier message: 20/04/2009, 16h24

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