Salut,
Je suis en train de faire un site en ASP .NET 2.0
De par son aspet dynamique, je suis ammené à :
1) Faire des select sans "connaître" le schema
2) Associer à des lignes retournées par un select les résultat d'autres select (boucles imbriquées)
3) Faire des ajout/modification/suppression dans les jeux de résultats retournés
1 : En fait, j'ai un objet unique qui gère les requêtes. Les requêtes sont spécifiées dans un fichier de configuration, et du coup je ne sais pas à l'avance quels champs je vais retrouver dans un "select * from produits" par exemple.
2 : Je veux être capable de stocker dans un objet unique des résultats du genre : "select * from famille", et pour chaque ligne, "select * from produit where famille_id = ?"
3 : Une fois que j'ai mon objet, je veux être capable d'aller modifier les lignes qui sont dedans, avec répercution dans la base.
Pour les points 1 et 3, à priori, un DataTable est parfait. Seulement, je n'ai jamais compris comment faire fonctionner les méthodes insert(), update() et delete(). A priori, la requête associée est obligatoire. Hors moi je ne la connais pas, je ne sais faire que le select.
Pour le 2° point, un DataSet ne me convient pas, car il contient les résultats des différentes requêtes de façon séquencielles. C'est à la limite jouable, mais autant se faire se peu, je préfère utiliser un objet qui serait du genre d'un DataTable, mais avec, pour chaque ligne, la possibilité de le lier à un DataSet (je peux avoir plusieurs requêtes par ligne)
En gros, j'ai besoin d'un objet qui se comporterais comme un document XML (c'est d'ailleurs pour générer un flux XML) que j'ai besoin de ce truc.
QQ1 connaît-il un objet qui ferait tout ça ? Dans le FrameWork si possible. J'utilise une connection SQL Server (provider natif) mais je dois pouvoir aussi utiliser un drivers OLE DB afin d'avoir le même comportement quel que soit le SGBD (dans la mesure où il sait faire des curseurs dynamiques évidement)