2010-01-29 5 views
0

Ceci est ma première tentative de création d'un rapport Visual Studio 2008 à l'aide de paramètres. J'ai créé l'ensemble de données et le rapport. Si je le lance avec un filtre codé en dur sur une colonne, le rapport fonctionne bien. Lorsque je change le filtre en '?' Je continue à obtenir cette erreur:Utilisation des paramètres dans les rapports pour VIsual Studio 2008

Aucune surcharge pour la méthode « fill » prend argument « 1 »

Il est évident que je manque un moyen de connecter le paramètre sur l'ensemble de données à un paramètre de rapport. J'ai défini un paramètre de rapport à l'aide de l'écran Rapport/Rapport Paramètre. Mais comment ce paramètre de rapport est-il lié au paramètre de table de jeu de données? Existe-t-il une convention de dénomination spéciale pour le paramètre? J'ai googlé cela une demi-douzaine de fois et lu la documentation msdn mais les exemples semblent tous utiliser une approche différente (comme créer une requête SQL plutôt qu'un jeu de données basé sur une table) ou entrer le nom du paramètre comme "= Paramètres! name.value "mais je ne peux pas savoir où faire ça. Un exemple msdn suggérait que je devais créer du code C# en utilisant une méthode SetParameters() pour établir la connexion. Est-ce ainsi que c'est fait?

Si quelqu'un peut recommander une bonne visite, je l'apprécierais.

Éditer: Après plus de lecture, il semble que je n'ai pas du tout besoin de paramètres de rapport. J'essaye simplement d'ajouter un paramètre à la requête de base de données. Je voudrais donc créer une zone de texte sur le formulaire, obtenir l'entrée de l'utilisateur, puis appliquer ce paramètre par programme à la liste d'arguments fill(). D'autre part, le paramètre de rapport est une valeur ad-hoc généralement entrée par un utilisateur que vous souhaitez voir apparaître dans le rapport. Mais il n'y a pas de relation entre les paramètres de rapport et les paramètres de requête/dataset. Est-ce exact?

Répondre

0

Ma dernière hypothèse semble être correcte. Après 30 ans dans l'industrie, mon parti pris est de supposer qu'un paramètre de rapport filtre réellement les données SQL en utilisant le paramètre donné. Ce n'est pas le cas avec les fichiers .rdlc utilisés par Report Viewer. Ces paramètres de rapport n'ont rien à voir avec l'extraction de données. Cela a été une décision de conception de la part de Microsoft de séparer complètement l'affichage des données de la récupération des données, par conséquent, Report Viewer n'a aucune connaissance de la façon dont les données peuvent être récupérées. La meilleure façon pour moi de conceptualiser cette dichotomie est de considérer les paramètres de rapport davantage comme des étiquettes de rapport, tout à fait distinctes des paramètres de requête de jeu de données.

Questions connexes