为什么不是';我的ReportViewer无法正常工作

本文关键字:常工作 工作 ReportViewer 我的 为什么不 | 更新日期: 2023-09-27 18:20:45

我开始了一个新项目。然后我添加一个空白表单,然后向表单添加ReportViewer控件。然后将控件停靠到表单。

接下来,我将一个新的数据集(DataSet1.xsd)添加到项目中。然后,我打开服务器资源管理器,将一个特定的视图(而不是表)拖动到DataSet1的表单中。然后,我可以看到视图中的所有字段都显示在数据集的表单上。如果我选择预览,我可以预览数据,并验证Fill,GetData()函数是否有效(它们确实有效。我可以看到所有数据)。然后我回到我的主表单(Form1),选择设计一个新的报告。我告诉报表向导要使用什么数据源,然后将所需字段拖到"行"分组框和"值"框中。我单击"下一步"并选择报告的布局和样式。

最后,我返回Form1,在reportviewer控件上选择我想要的报表。我构建然后运行这个项目。将显示窗体,但查看器控件中不会显示任何报告。就我的一生而言,我不知道为什么。我有没有跳过一步?我本可以发誓,这是我以前做一份简单报告时所做的,但它似乎不起作用。

我甚至试图对数据集的TableAdapter的Fill方法进行调试,但这似乎是它陷入困境的地方。然而,我可以使用相同的表适配器填充例程来预览数据。我没有对任何代码进行任何更改,所以我不知所措。有什么想法吗?

FILL代码:

private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'DataSet1.CAV_MBRHISTDETL' table. You can move, or remove it, as needed.
        this.CAV_MBRHISTDETLTableAdapter.Fill(this.DataSet1.CAV_MBRHISTDETL);
        this.reportViewer1.RefreshReport();
    }

SQL填充数据集:

SELECT 
          MBRSEP, 
          LOCATION, 
          BILLDATE, 
          READDATE, 
          DUEDATE, 
          READTYPE, 
          BILLTYPE, 
          CREDITCODE, 
          BILLMOYR, 
          METERREAD, 
          KWH 
FROM      CAR1.CAV_MBRHISTDETL
WHERE     BILLTYPE = '09' AND 
          BILLMOYR <> '9999' 
          AND ROWNUM <= 100

连接字符串:

connectionString="Dsn=UPN2;uid=car1;dbq=SEDC;dba=W;apa=T;exc=F;fen=T;qto=T;frc=10;fdl=10;lob=T;rst=T;btd=F;bnf=F;bam=IfAllSuccessful;num=NLS;dpm=F;mts=T;mdi=F;csr=F;fwc=F;fbs=64000;tlo=O;mld=0;oda=F"

为什么不是';我的ReportViewer无法正常工作

我想我发现了我的问题。在Visual Studio 2010中,我单击了"调试",然后单击了"异常",并检查了结果窗口中的每个异常。不知怎么的,我想,一个错误正在发生,而我并没有意识到

果不其然,当我再次运行报告程序时,我收到一条错误消息,说我的密码为空。想象一下!当我在dataset.xsd屏幕中预览数据时,我不得不输入我的用户ID和密码,但当我运行程序时,程序一次也没有要求我输入密码。我还想知道为什么程序没有因为错误而完全停止,而不是坐在那里。不管怎样,当我在连接字符串中提供密码并重新运行时,一切都正常了。哇!