Comment faire pour avoir les résultats d'une procédure stockée SQL 2005 dans un

pisse_ko_pat Messages postés 3 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 25 octobre 2007 - 2 oct. 2007 à 12:34
bidou_01 Messages postés 134 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 19 mai 2008 - 11 oct. 2007 à 20:27
Bonjour, je vous expose le plus simplement possible mon problème un peu compliqué.

Je dois faire du reporting sous vs2005 avec l'outil intégré (pas crystal report) et j'ai quelques soucis.

J'ai écrit une procédure stockée dans sql2005 qui me permet de récupérer les valeurs à afficher dans le rapport.
Ensuite sur base de cette procédure, j'ai créé un dataset avec les datatables correspondantes.
Dans la form (le rapport s'exécute en mode local), je charge le dataset avant de raffraichir le rapport.

En mode debug, le dataset est bien rempli avant de raffraichir le rapport.

Lorsque je veux afficher mon rapport rien ne s'affiche, alors que j'ai apparament bien respecté les étapes avec l'assistant.

Quelqu'un peux il me donner une marche à suivre claire pour récupérer les valeurs de mon dataset rempli par ma procédure stockée pour l'afficher dans mon rapport?

J'ai essayé de suivre plusieurs tutoriels mais ça foire vachement quand même.

merci à tous,
à bientôt

Harvent Patric
www.informatiquechezvous.be

1 réponse

bidou_01 Messages postés 134 Date d'inscription dimanche 1 octobre 2006 Statut Membre Dernière intervention 19 mai 2008 1
11 oct. 2007 à 20:27
Bonsoir, pourrais-tu poster un extrait de ton code.

Je n'ai jamais utilisé l'outils intégré à VS 2005, mais je pense que la marche à suivre est à peu de chose près identique qu'avec Crystal Report :

   ==> Création du data set typé que tu vas utiliser dans ton report (à partir de ta procédure stockée).
   ==> Instanciation de ton data set et de ton report.
   ==> Remplissage du dataset à l'aide de la méthode Fill d'un DataAdapter :
   ==> passage du data set au report ( monReport.SetDataSource(monDataSet);)
   et enfin tu peux lancer une impression à l'aide de la méthode :

public virtual void PrintToPrinter(
   int nCopies, 
   bool collated, 
   int startPageN, 
   int endPageN
);

Pour préciser à ton DataAdapter d'utiliser un procédure stockée pour remplir le DataSet, tu dois préciser la propriété SelectCommand.

ex :

monDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
monDataAdapter.SelectCommand.CommandText = "sp_MaProcedureStockee @monParametre1, @monParametre2";
monDataAdapter.SelectCommande.Parameters.Add("@monParametre1", valeur1);
monDataAdapter.SelectCommande.Parameters.Add("@monParametre2", valeur2);

Cordialement,

Bidou_01
0
Rejoignez-nous