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 :

[ADO.Net][C#/OleDb] DataReader ou DataSet ?


Sujet :

Accès aux données

  1. #1
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut [ADO.Net][C#/OleDb] DataReader ou DataSet ?
    Bonjour,

    Je viens de lire beaucoup de docs sur des sites et d'autres supports, mais je sais toujours pas ce qu'il est préférable d'utiliser pour remplir ma BD Access (5 tables en relations) avec les champs d'un WinForm.. ?
    D'un coté c'est marqué que les dataset c'est pour manipuler beaucoup de données et de l'autre je vois pas comment gérer les relations entre les tables avec un datareader.
    Par exemple si je remplis un champ d'une table av une clé primaire, le champ lié dans l'autre table ne se remplit pas .. comment faire ?

    Merci !

    Edit: Y'a pas de fonction "rechercher" sur le forum ??

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 98
    Points : 109
    Points
    109
    Par défaut
    Perso pour gérer les relations entre les tables, je le fais direct dans la requete. J'utilise les datasets lorsque j'ai besoin d'alimenter un datagridview avec et surtout si j'ai besoin de garder la table en mémoire, par exemple en proposant différentes vues de la table via l'objet DataView.
    J'utilise le DataReader dans les autres cas, et si je ne raconte pas de bétises, la solution du DataReader, lisant directement dans la base de données n'occupe pas autant de ressources que le DataSet surtout si tu as beaucoup beaucoup beaucoup de données à charger.
    ADSC Informatique : Assistance & Dépannage Informatique sur Toulouse et région (www.adscinformatique.fr)

  3. #3
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Il y a grosso modo deux écoles :

    1) Le Dataset qui permet de minimiser le traffic réseau une fois rempli et qui permet pour peu que les DataAdapter soit bien configurés de faire des mises à jour / rafraichissement assez simplement

    2) La manipulation directe par le biais de commande SQL.

    Les deux ont forcément du pour et du contre, et selon le contexte peuvent être à éviter. Ainsi dans un environnement fortement concurrentiel, la manipulation directe doit être éviter sauf si on maitrise correctement le SQL et la notion de concurrence.

    Pour les tables en relation, il n'y a pas d'objets tout fait, c'est donc à toi de gérer la logique. Généralement on utilise autant de DataAdapter que de table. Lorsqu'on modifie plusieurs tables en relation, on applique les Updates dans l'ordre de la hiérarchie imposée par l'opération (par exemple les tables parents avant les tables enfants pour des ajouts). Lorsque plusieurs types de modifications sont présentes, on utilise alors GetChanges pour traiter les opérations dans l'ordre.

  4. #4
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut
    Ok merci pour vos réponses. Pour le moment ma base est en locale, alors j'vais utiliser le DataReader, dans l'ordre hiérarchique pour remplir mes tables.
    Normalement ensuite je j'aurai à utiliser un service web, donc on verra pour le DataSet pour minimiser mon traffic.
    A+

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

Discussions similaires

  1. [ADO.NET] Fenêtre Relation d'un DataSet Typé
    Par daner06 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 01/09/2006, 18h21
  2. [ADO.Net][VB.NET/C#]Comment importer .xls dans DataSet ?
    Par smedini dans le forum Accès aux données
    Réponses: 2
    Dernier message: 10/01/2006, 15h59
  3. [ADO.Net][C# 1.1]Comment réaliser relation pour 2 Dataset ?
    Par misa dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/01/2006, 06h55
  4. [ADO.NET] MAJ BDD à partir d'un DataSet d'un DataGrid
    Par bart64 dans le forum Accès aux données
    Réponses: 15
    Dernier message: 20/12/2005, 18h16
  5. [VB.NET] [ADO.NET] Adapter, TableMapping et DataSet xsd
    Par neo.51 dans le forum Accès aux données
    Réponses: 14
    Dernier message: 23/09/2004, 16h52

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