Microsoft如何报告(RDL)查询数据?

时间:2010-10-26 12:23:15

标签: c# visual-studio report rdl

我不是从头开始创建RDL所以这可能是一个问题 - 我在已经准备好的文件上工作。

MSDN声明RDL文件中的CommandText可以包含T-SQL查询。好的,我明白了,但它还能包含什么呢?

我在问,因为短语清楚地表明你可以在那里加上其他表达 所以,如果我理解正确,我可以看一下RDL代码(在Visual Studio中,在RDL文件上使用RMB,“查看代码”),有趣的部分是......?

  • DataSourceName - 这是通过数据源定义的数据库“链接”
  • CommandText - 我认为这是放置查询的地方,比如SELECT ...但是从我看到的内容中没有使用查询

4 个答案:

答案 0 :(得分:3)

报告服务,将rdl文件加载到其中,然后根据

等部分开始解析和读取命令

数据来源,报告参数等。

获取params的值(如果有的话)。开始使用数据源数据库连接。执行query / sp命令。获取数据,并存储在rdl中也提到的单独数据字段中。将它们的值与控件(文本框,网格列等)绑定,如果有任何写入的表达式,也执行它们。

生成输出(html / pdf)。

你去吧。

我只是试着用简短的单词来解释。您可以查看msdn以获取完整的详细信息。

此致

Mazhar Karimi

答案 1 :(得分:2)

您可以手动创建报告,并使用您想要的任何数据填充它们。

像:

ReportDataSource reportDataSource = new ReportDataSource();
reportViewer.Reset();
reportDataSource.Name = "DataSetOdczyty_klienci_adresy";
reportDataSource.Value = klienciadresyBindingSource;
reportViewer.LocalReport.DataSources.Add(reportDataSource);
reportViewer.LocalReport.ReportEmbeddedResource = "Wodociagi.Reports.ReportListaKlientow.rdlc";

答案 2 :(得分:1)

您可以使用Notepad++.之类的XML编辑器打开报告文件g = glyph.Glyph(ttfquery.glyphquery.glyphName(f, char)) 然后,搜索*.rdl,您将找到报告中使用的数据集。

  • 每个数据集的字段名称都在<DataSets>部分
  • 在每个数据集的<Fields>部分,您可以找到<Query><CommandText>,如下例所示

示例:

<QueryParameters>

我没有找到在Visual Studio的报告编辑器中轻松查看的方法。也许bounty我已经开始帮助(有人喜欢获得50个声望点吗?)

答案 3 :(得分:1)

最初,我不确定为什么OP和@Matt都直接读取XML而不是在Visual Studio中编辑查询(在极端情况下我只是诉诸于此)。但现在我认为你可能失败了missing "Report Data" pane的受害者。

正常情况下在Visual Studio BIDS中打开报表,然后从“查看”菜单中选择&#34;报表数据&#34;。如果它不存在,在任何地方单击报告画布,那么它应该出现。在&#34;报告数据&#34;将出现的窗格,您对数据源(来自哪里的数据?)和数据集(什么是查询,参数,表达式?)感兴趣。