Bonjour,

Voilà je me remet à Crystal Report doucement et je me pose pas mal de questions sur la stratégie d'accés aux données...

Pour l'instant je vois 4 approches vraiment distinctes :
1)Le dataset fortement typé :
J'ai écris un tuto sur le sujet et je fesait toujours comme ça. Mais les dataset c'est de moins en moins ma tasse de thé et je suis pas franchement fan du concept de créer un gros objet en mémoire pour l'envoyer à un état qui va le remouliner. Coté performance ça ne me parait pas trés fameux.

2)Le IDataReader
Autant sur le papier consomer un IDataReader ça me paraissait super sympas, autant quand on regarde comment faut implémenter ça dans la doc
Pour faire simple pour ceux qui ont pas suivi, faut se faire une espèce de classe pleinne de constantes qui respecte un modèle d'implémentation rigide et mal foutu défini par crystal reports et donner la dll comme source de donné à l'état lors de la conception

3)La liste d'objets
Même problème que le dataset, j'instancie des objets juste pour les envoyer à CR... surement moins gourmant qu'un dataset en mémoire mais bon...

4)Connexion directe à la base sous CR
C'est la solution qui me semble la plus approprié, une bonne vieille procédure stockée et en avant... mais là je rencontre des problèmes en terme de flexibilitée. Est-ce que dans mon code dotnet je peux changer :
-Les informations de connexion à la BD ?
-Le nom de ma procédure stockée ?
-Les paramètres de ma procédure stockée ?

Mes besoins sont relativement simples : j'ai X états que je veux associer à X procédures stockées et X params. Le soucis c'est que je veux pouvoir modifier le nom de la procédure stockée, les informations de connexion et les param de ma procédure stockée par le code en .NET. Mes noms et types de champs resteront inchangés mais la stratégie d'accés aux données doit-être assez flexible pour que je puisse changer de base ou de procédure stocké.

Comment procédez vous ? Que me conseillez vous ? Des samples ou parties de doc m'ont échapé ?


Cordialement,