2009-11-16 4 views
2

J'utilise Visual Studie 2005 et SQL Server 2005. Je tente d'exécuter certains rapports SSR que j'ai créés sur le serveur. Puis-je créer des paramètres à l'exécution dans mon code même si je n'ai pas créé les paramètres dans le rapport. Voici mon exemple de code:créer dynamiquement paramètre à l'exécution pour SSRS

 ReportNum = Test.Left(cboReportList.Text, 9); 
     reportViewer1.ServerReport.ReportServerUrl = new Uri ("http://simsamwqs04.rsc.humad.com/reportserver"); 
     reportViewer1.ServerReport.ReportPath = "/Claims/Report Project1/" + ReportNum; 

     //ReportViewer1.ServerReport.ReportPath = "/Report Project State/Report1"; 
     ReportParameter[] Params = new ReportParameter[1]; 
     Params[0] = new ReportParameter("fundctr", txtCenter.Text); 
     reportViewer1.ServerReport.SetParameters(Params); 
     reportViewer1.ServerReport.Refresh(); 

Répondre

0

Je ne suis pas sûr que je comprends votre question, mais si je le fais, il semble que vous vous demandez si vous pouvez ajouter des paramètres à un rapport dans lequel ils ne l'ont pas déjà exister.

Si vous n'avez pas déjà créé les paramètres dans le rapport, que pensez-vous pouvoir faire des paramètres si vous pouviez les créer lors de l'exécution? Vous n'auriez rien qui dépend d'eux. Vous n'auriez rien dans le rapport qui les chercherait.

0

Vous pouvez éventuellement essayer de créer tous les paramètres nécessaires et décider de les utiliser dans le SQL avec l'opérateur coalesce. Comme si:

select field1,field2 
from table_a 
where /*sneaky part below*/ 
field1 = Coalesce(@ParamForField1, field1) 
AND 
field2 = Coalesce(@ParamForField2, field2) 

Ceci ignorera effectivement les paramètres si leur valeur est nulle. Cela ne fonctionne pas dans toutes les situations. Il s'agit d'une longue boucle autour de votre problème, mais peut fonctionner pour vous.

Questions connexes