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

Accès aux données Discussion :

Dataset et le problème des identifiants métiers qui sont clés primaires….


Sujet :

Accès aux données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Points : 120
    Points
    120
    Par défaut Dataset et le problème des identifiants métiers qui sont clés primaires….
    Bonjour à tous,

    J’ai un programme lié à une base de données par le biais d’un dataset. Dans ce programme j’ai une GridView qui permet d’éditer une table et plus précisément l’identifiant métier « LOT.Numero_lot » qui est aussi clé primaire de ma table….

    PS : Je n’ai pas conçu la base de donnée, on m’a dis de faire avec.

    Imaginez alors les modifications suivantes que fait l’utilisateur dans ma gridview ; et le résultat à l’enregistrement (update) du dataset :



    Violation de la contrainte PRIMARY KEY 'PK_LOT'. Impossible d'insérer une clé en double dans l'objet 'LOT'.
    L'instruction a été arrêtée.
    Le plantage est évident.

    La solution pour corriger ce problème l’est moins étant donné que je ne souhaite pas modifier à ce stade du projet la structure de la base et que le programme compte 20000 lignes de code avec des références des re-calculs et des tables/parents enfant, des exports dans tous les sens…

    La chance c’est que pour l’instant il n’y a que cette table qui pose problème.

    Et si on regarde le problème de près, la solution la plus simple serait peut de simplement stocker l’ordre des modifications effectués dans une liste et d’appeler un update sur chacun des datarow de la liste, dans l’ordre. Le tout avant que j’appelle TableAdapterManager.UpdateAll sur tout le dataset.

    Mes questions sont :
    - avez-vous déjà rencontré le problème ?
    - qu’est ce que vous pensez de la solution ?
    - pouvez-vous me proposer quelque chose ?

    Merci d'avance,

  2. #2
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Je dirais qu'a priori il faut retourner voir les gens du métier et revoir vraiment ce qu'ils veulent, updater une PK en base ça se fait pas cela a des conséquences importante.
    Sinon le plus simple c'est de virer la contrainte en base et dire que ce champ n'est pas une pk, mais s'il y a des FK qui l'utilisent ce sera délicat mais ça justifiera que faire un modification sur ce champ est insensé...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Points : 120
    Points
    120
    Par défaut
    Heu.... pourquoi je ne peux pas éditer mon message initial ???

  4. #4
    Expert éminent 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
    Points : 7 903
    Points
    7 903
    Par défaut
    Que contient exactement commande d'update de la table utilises-tu ?
    Peux-tu poster le code associé à la création de la commande Update et celui correspondant à la mise à jour de la DataTable ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2015, 23h02
  2. Copier et coller dans des classeurs différents qui sont fermés
    Par acine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/01/2012, 19h59
  3. Réponses: 4
    Dernier message: 26/08/2009, 15h36
  4. [C#] Supprimer des colonnes (Table avec 2 clés primaire)
    Par sara21 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/11/2006, 21h42
  5. Réponses: 11
    Dernier message: 04/01/2006, 23h57

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