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

Windows Forms Discussion :

[ADO 2.0]Base de données qui ne se modifie pas quand on modifie un DataGridView


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut [ADO 2.0]Base de données qui ne se modifie pas quand on modifie un DataGridView
    Salut,

    Je suis en train de faire une petite application en Visual C# bête comme choux avec un DataGridView relié à ma base de données SQL Server.

    Il s'agit juste de récupérer le contenu d'une table, l'afficher dans le DataGridView, et pouvoir ensuite modifier la base de données lorsqu'on modifie les données dans ce même DataGridView.

    J'ai tout fait en mode graphique, et vu la simplicité de ce que je demande, je ne vois pourquoi il en aurait été autrement.

    J'ai bien ma DataGrid, un DataSet, un TableAdapter, et un BindingSource. La Datagrid affiche bien le contenu de ma table, j'ai bien coché "Activer l'ajour/la modification/la suppression". Mais quand je modifie les données dans la DataGrid, la base de données ne bouge pas.

    Dans le TableAdapter j'ai bien une Select, une Update, une Insert, et une Delete Command. Toutes ont été configurées automatiquement et rien n'a l'air anormal.

    Alors est-ce qu'il y a une propriété particulière que je suis sensé activer? Une manière de "linker" la DataGridView avec la BDD?

    Merci d'avance.

  2. #2
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Problème toujours d'actualité.

    J'ai essayé de tout refaire de zéro, et j'obtiens toujours le même résultat : modifier les données dans ma DataGridView ne modifie en rien les données dans ma BDD.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    les modification du datagridview se répercutent dans la table liée.
    Pour que les mises à jour se répércutent dans la BDR if faut
    transferer les modif de la table du dataset dans la BDR et celà gràce à la méthode update du dataadapter (c'est le plus simple).
    Ou alors créer la requête dans le code et envoyer les mises à jour avec un objet command.
    Bon boulot
    Jean

  4. #4
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Je ne suis pas chez moi pour tester, mais si je rajoute un bouton "Enregistrer les modications" avec un événement OnClick qui exécute "MaDataTable.Update;", j'aurai tout bon?

  5. #5
    Membre confirmé
    Avatar de strat0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2003
    Messages : 288
    Points : 598
    Points
    598
    Par défaut
    Je commence à avancer.

    Je me suis inspiré de cette page pour que les modifications apportées à ma GridView soient automatiquement retranscrites dans ma base de données.

    Mais j'ai encore deux problèmes :
    1. Je souhaiterais que lorsque l'on modifie les données dans la GridView, celle-ci soit ensuite automatiquement rechargée, car j'ai un trigger côté BDD qui modifie les données saisies. Comment faire?

    2. Lorsque l'on insère une nouvelle ligne dans la GridView, celle-ci est enregistrée sans problème. Par contre si on veut ensuite modifier cette nouvelle ligne (et ça ne le fait que pour celle-ci, pas pour celle qui était déjà dans la GridView à l'origine) j'ai systématiquement une exception de type "violalation de l'accès concurentiel". Qu'est-ce que c'est et comment passer outre?

    Merci pour ton aide JPelli et merci pour toutes les autres réponses qu'on pourra m'apporter.

Discussions similaires

  1. Fenetre Base de données qui disparait.
    Par sebinator dans le forum Access
    Réponses: 2
    Dernier message: 24/06/2008, 15h34
  2. Réponses: 1
    Dernier message: 15/05/2008, 18h45
  3. Requête à ma base de données qui empêche l'autocompletion
    Par kev42100 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/04/2008, 14h40
  4. [MySQL] Base de donnée qui n'affiche rien
    Par Prince Mch dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 31/01/2008, 16h36
  5. VB6 et ADO creation de base de données
    Par thierry007 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/08/2006, 08h43

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