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

ASP.NET Discussion :

[C#] DataSet


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut [C#] DataSet
    Bonjour,

    Je remplis un dataset lorsque j'arrive la premiere fois sur ma page, mais lorsque je click sur un bouton qui a pour but d'appeler une procdedure, j'observe que mon dataset est vide ?!?

    Dois je remplis mon dataset a chaque POSTBACK ?


    merci
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Nouveau membre du Club

    Inscrit en
    Novembre 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Faut que tu le mettes dans un objet session pour le rendre persistant...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Session["MyDataset"] = myDataset;
    ...
    MyDataset = (DataSet)Session["MyDataset"] ;

  3. #3
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Je croyais justement que l'un des interets du dataset etait qu'il gardait les donnees puisque nous sommes en mode deconnecté.

    Si le dataset est connecté a un datagrid, alors les donnees sont gardée ?!? par consequent j'en conclu que c'est le datagrid qui garde toutes les donnees et non le dataset ?


    bizarre non ?
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    tu peu faire voir ton code ?
    parce que moi aussi j'ai un dataset mais il ne se vide pas à chaque fois !!

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Points : 1 046
    Points
    1 046
    Par défaut
    Salut,

    Tu ne dois pas avoir bien saisi tous les concepts :

    - un DataSet travaille en mode déconnecté (de la base de donnée) : tu ouvres une connexion, tu ramenes toutes les données qui t'intéressent de la base, tu ferme la connexion, et ton DataSet contient tes données. Par opposition au DataReader qui travaille en mode connecté : Tu ouvres une connexion, ton dataReader te permet de lire au fur et à mesure tes données, quand tu as fini, il faut fermer la connexion.

    - tu développes un site Web, donc qd tu crées un DataSet, celui-ci est stocké en mémoire coté serveur. Lors d'un aller-retour vers le client, tes variables qui etaient en mémoire coté serveur sont libérées, au retour ces variables il faut les réinitialisées. Pour ton dataSet ça veut dire :
    - soit le reremplir depuis la base
    - soit le sauver qque part, par exemple en session

    - qd tu bind ton dataGrid à ton DataSet, un autre "phénomène" entre en jeu : le ViewState. Le viewState est une collection de "trucs" (ce que tu veux) qui est stocké coté client cette fois (il fait l'aller-retour à chaque fois). Ce ViewState sert en particulier à sauver l'état des controles d'une page asp.net pour que justement cet état ne soit pas perdu à chaque aller-retour. Donc en fait le contenu de ta DataGrid se retrouve sauvé dans le ViewState, et c'est de cette maniere que ce contrôle te donne l'IMPRESSION de garder des données, MAIS, si par exemple tu ajoutes des données dans ta base, ton DataGrid ne reflètera JAMAIS ces changements si tu ne le rebind pas à un dataSet qui a été MIS A JOUR.

    J'espere que mes explications sont claires

    PS : tu peux désactiver la sauvegarde automatique de l'etat de tes contrôles puisqu'ils ont tous une propriété EnableViewState que tu peux positionner à false. Si tu essayes avec ton DataGrid, tu verras que tout comme ton DataSet, il "perd" sont état à chaque PostBack.

  6. #6
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Merci pour tes explications, en faite depuis le debut il y a qq chose qui me chiffonne, je voudrais me servir de DataSet.HasChanges(DataRowState.Modified) lorsque je click sur le bouton valider afin de faire un update de la Bdd a partir du dataset; car je ne veux pas faire un 'update' si y a pas eu de changement.
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Le dataset.bof ne répond plus.
    Par fplanglois dans le forum Bases de données
    Réponses: 6
    Dernier message: 23/03/2004, 09h45
  2. Modifier l'ordre des Fields d'un dataset
    Par teska dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/03/2004, 16h38
  3. [C#] [SQLSERVER2000] Dataset et Xml
    Par farfadet dans le forum ASP.NET
    Réponses: 11
    Dernier message: 16/03/2004, 16h02
  4. [VB.net][PostgreSQL & ODBC] DataSet => NO_DAT
    Par rebolon dans le forum Accès aux données
    Réponses: 2
    Dernier message: 28/01/2004, 09h01
  5. [FLASH MX 2004 pro] DATASET, XML, ASP
    Par kenshi dans le forum Flash
    Réponses: 4
    Dernier message: 27/01/2004, 10h38

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