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 :

[C#] Gridview insérer dans dataset et non dans base de données


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut [C#] Gridview insérer dans dataset et non dans base de données
    Bonjour à tous,
    Mon but est d'insérer des données dans une base de données.
    Mais avant d'insérer toutes ces données, je veux les stockées dans un dataset.
    A chaque fois que je rajoute une ligne dans un gridview, je voudrais rajouter cet enregistrement dans un dataset.
    A la fin, je voudrais insérer les enregistrement de mon dataset dans ma base de donnée.

    Comment faire cela ?

    Pour l'instant, j'ai défini 1 datatableadapter, un objectdatasource qui contient les méthodes select(), update(), insert() et delete() et un gridview qui est lié à mon objectdatasource.
    Mais lorsque je fais une insertion, ça l'insère dans ma base !!! Je ne veux pas que ça l'insère tout de suite dans ma base moi...
    Comment faire alors ? Quelle est la marche à suivre ?

    Merci grandement pour votre aide !!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Pour l'instant, j'ai défini 1 datatableadapter, un objectdatasource qui contient les méthodes select(), update(), insert() et delete() et un gridview qui est lié à mon objectdatasource.
    A quoi est lié l'ObjectDataSource ? A la base de données ? moi pas connaître ces objets-là mais dans ce cas il serait normal que la base de données soit modifiée, non ?


    Il me semble que pour un problème de ce genre il suffit d'utiliser un DataAdapter, un DataSet, et un GridView. Donc pas d'ObjectDataSource .
    - On remplit le DataSet avec les données de la base grâce à la méthode Fill() du DataAdapter (ou alors on récupère uniquement le schéma, sans les données, avec FillSchema()).
    - On lie le GridView à une table du DataSet.
    - On insère/modifie/supprime ce qu'on veut dans le DataSet via le GridView.
    - Puis on envoie toutes les modifications à la base grâce à la méthode Update() du DataAdapter.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    ça à l'air bien ça.
    Mais je crois que je vais buter sur "on insère les nouvelles lignes dans le dataset".

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Pour l'instant je n'ai travaillé qu'avec des DataGridView sur des WinForm.
    Je lie une table à la grille (monDataGridView.DataSource = maDataTable). Je peux régler dans les propriétés du DataGridView les autorisations d'insertion/suppression/modification. Et ensuite, lorsque la grille est affichée dans le formulaire, tout ce que je fais graphiquement dans la grille affichée à l'écran est répercuté automatiquement dans la DataTable.
    Pour les GridView, ça doit être pareil, avec des noms de propriétés différents

    Le plus délicat (et encore, ça dépend de la complexité de tes données) est plutôt de configurer les commandes du DataAdapter.

    Pour l'utilisation des DataSet et DataAdapter : tutos dans la partie ".NET et les bases de données"
    Pour l'utilisation des GridView : je te laisse chercher

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Oui je suis en train de regarder de plus près le dataadapter (sqldataadpater pour moi).

    Je peux revenir vers toi si j'ai un problème ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Une petite question:

    Est-ce qu'on peut afficher un gridview binder sur un dataset qui ne cotient pas de données. Récupérer uniquement la structure (les champs) même si le dataset ne contient pas d'enregistrement.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    ça ne pose pas de problème !
    (et ça ne t'aurait pas non plus posé de problèmes d'essayer en 2min avant de poser cette question )

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    En winform non, ça ne pose pas de problème.
    mais en dans une webform, ça n'a pas l'air de se comporter pareil

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    aaaah ooooooooh en effet j'ai tendance à oublier qu'on n'utilise pas les mêmes objets et que certains comportements peuvent être différents même si "en gros" c'est censé faire la même chose

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Points : 314
    Points
    314
    Par défaut
    Oui tu as raison, ça doit être la même chose, mais je comprends pas pourquoi ça ne se comporte pas de la même façon

  11. #11
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    tu dis vouloir recuperer le schema de ton dataset, si oui tu n'as pas besoin de gridview pour ca , le dataset se suffit a lui meme dans ce cas la.

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/03/2012, 11h34
  2. autocomplete marche dans IE et non dans firefox
    Par da991319 dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 08/11/2007, 14h42
  3. [SQL] problème d'insetion dans la table de la base de données
    Par aroua dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/07/2007, 16h21
  4. ajout dans un formulaire et une base de donnée
    Par mademoizel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/06/2006, 14h42
  5. Crystal Report 8 : Erreur dans la Dll de la base de donnée
    Par Mehdi_ab dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/12/2005, 14h42

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