作品展之前终于将机房的收尾工作做好了——报表
至于VS的报表怎么整,其实好多同学已经将博客写得像说明书一样了,在此,请允许我站在巨人的肩膀上,直接粘贴相应的博客链接地址:机房重构——报表
(作者:张欢)
本篇博客主要说明一下我在实现报表功能的时候出现的问题以及解决办法:
周结账单开始没打算整,因为同学们说,数据源的方式违背了七层,所以,日结账单就用的七层。因为之前的功能都没用绑定数据源的方式,故决定在重构工作结束之际,尝试使用一下,
事实证明,好学的代价=Bug,绑定数据源的时候,先报了一个这样的错:tablix“Tablix1”引用了无效的 DataSetName“DayDataSet”。
错误原因是:我的日结和周结在数据库中是一张表(T_Check_Info)设计周结账单和日结账单的时候用的是不同的数据源名字。由于自己太懒了,后来设计周结报表的时候,将日结里边画好的表格直接复制过来了,导致出错,如下:
之后代码没有错误了,开始运行,报错——其他信息: 用户 ‘sa‘ 登录失败。
紧急呼叫度娘,找到了解决办法,同时也印证了师父说的话——只要是机房收费系统的问题,在网上没有找不到的(提高班的力量真的很伟大)
?
解决完以上问题后,本以为万事大吉了,没想到竟然又报了下面的错,费了一个多小时的时间去解决:
原因出在哪里?看以下两张截图:
UI层窗体的代码已经将起止日期一一对应地按顺序传到了T_Check_InfoTableAdapter,对应配置向导中的代码:
Me.T_Check_InfoTableAdapter.Fill(Me.LinkDataSet.T_Check_Info, StartDate, EndDate)
所以就不用设置参数了。
通过这两种方式的报表,感觉报表数据的参数设置是为了走7层准备的;直接连接数据源的话,若是设置参数,它不会识别,就会报出以上错误。