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 :

Exécution d'une requete sur un DataSet


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 91
    Points
    91
    Par défaut Exécution d'une requete sur un DataSet
    Bonjour,
    Je développe une application en C#, avec une base de données.
    Je place toutes mes données dans un DataSet, avec des liaisons. Est-il possible d'effectuer des requêtes sur cet objet ?

    L'objectif est d'avoir une table, issue de plusieurs tables d'un même DataSet.

    Merci d'avance

    Nicolas
    Strasbourg

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    en clair tu veux exécuter une requete SQL sur ton DataSet sans te connecter réellement à la base de données c'est cela ? (enfin sans que cette requete soit exécutée sur les données sur le sgbd mais direct en mémoire dans le framework)

    j'en doute... en fait cela irait relativement à l'encontre de tout système "bien fait"... chaque chose a sa place, et sa fonction... les DataSet sont des représentations managée en mémoire vive, de tes données dans la base de données.
    En réalité, ADO.NET n'a pas pour vocation de remplacer le SGBD. Par conséquent, les requêtes SQL ne sont pas exécutés coté framework mais coté SGBD... (sinon où est l'intéret d'avoir un SGBD) c'est lui qui décompose SQL en algebre relationnelle, établi un plan d'exécution et des optimisations et exécute ce plan, transmet les données à ta couche applicative (framework) qui les remet dans le dataset.
    Il n'est donc pas possible de ne pas effectuer la requete sur le jeu de données du serveur mais directement sur la représentation mémoire... et de toute facon se serait moins optimal... car tu n'a qu'une représentation mémoire, qui ne contient pas les notions d'index, de clusters. En effet, tu as juste une indication, pour que tes controles fassent quelques vérifications avant meme d'aller jusquau SGBD mais en aucun cas tu n'a du coté appli les mécanismes mis en place coté sgbd pour la recherche indexée... encore une fois car c'est au SGBD de faire ce travail.

    Si toutefois ce n'était pas la réponse à ton probleme je te suggère de l'énoncer différemment, quitte à donner des exemples de ce que tu souhaiterait.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Points : 91
    Points
    91
    Par défaut
    C'est exactement la réponse que l'attendait.

    En clair, j'ai des fichiers qui contiennent des données (données issus d'une station d'acquisition).
    En ouvrant un fichier, je place mes données dans un dataSet, et j'exploite ce dataSet pour afficher les résultats dans des formulaires.
    Une fois l'exploitation des données achevé, on quitte l'application, sans garder les données structurées dans le DataSet.

    Oui, j'utilise mon dataSet comme SGBD (pas correct donc...?). N'ayant pas beaucoup de données, ce système me paraissait léger et simple d'utilisation.

    Lorsque j'affiche mes données par enregistrement, aucun problème, en utilisant le pointeur vers l'enregistrement courant.

    Je souhaite maintenant ajouter à ça, l'affichage de tableaux, dont les données sont issus de plusieurs tables :

    Exemple :

    "SELECT Date Francais FROM Main Textes" sachant que Date et Francais sont des colonnes de 2 tables différentes ; Il y a une relation entre les 2 tables : La clé primaire de la table "Texte" est un des champs de la table "Main".

    Quelle est la meilleure solution pour ce projet ?
    Utiliser un SGBD externe ? Si oui, quel système léger peut être utilisé ?
    Des fichiers xml peuvent être considérés donc un SGBD ?

    J'espère avoir été clair.

    Merci d'avance

Discussions similaires

  1. [Admin] impossible d'exécuter une requete sur un univers
    Par sara_sihem dans le forum Administration-Migration
    Réponses: 5
    Dernier message: 30/12/2009, 14h39
  2. Effectuer une requete sur un dataset
    Par Aurélien19 dans le forum C#
    Réponses: 7
    Dernier message: 25/09/2008, 15h17
  3. exécuter une requete sur mysql
    Par benkunz dans le forum ASP.NET
    Réponses: 6
    Dernier message: 20/04/2007, 08h18
  4. Réponses: 9
    Dernier message: 20/06/2005, 12h17
  5. Réponses: 3
    Dernier message: 06/07/2004, 10h21

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