【机房重构】——VS制作报表+日期格式转化

来源:互联网 发布:java全排列 编辑:程序博客网 时间:2024/06/07 15:47

VS制作报表

        制作报表这块,VS相对当初的VB就容易多了,VS不需要再用第三方软件制作报表,它本身就可以。

方法

1、在UI新建数据集


2、添加——TableAdapter(T)


3、点击新建连接——同上面第七步,填写自己的信息。——测试——确定——下一步


4、选择SQL语句——下一步

5、写SQL语句
如:
6、测试:点击查询生成器——执行查询——输入值——确定。若有数据,则语句输入成功。

查询成功:

7、确定、下一步、下一步、完成即可。


8、然后新建窗体——添加ReprotViewer控件
        
9、点击控件的右上角小三角,选择设计新报表
10、数据集属性



11、下一步、然后是根据自己的需要选择合适的格式,若只需要显示各行的值,则将所需要显示的字段加到值得那块。如下图。然后下一步:

12、然后依然是个性化设置,选择自己喜欢的格式即可。
13、修改字段显示

14、修改好后,回到UI界面,在图示地方选择自己建立的报表


代码部分:

        代码这块很简单。
        当进入代码界面后,会有错,这是因为没有给sql语句传值。

报错代码:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load        'TODO: 这行代码将数据加载到表“DataSet1.SettleAccount_Info”中。您可以根据需要移动或删除它。        Me.SettleAccount_InfoTableAdapter.Fill(Me.DataSet1.SettleAccount_Info)'报错行,因为未给当初设定的SQL语句赋@data 的值        Me.ReportViewer1.RefreshReport()    End Sub

调整:
        界面是添加的DateTimePicker1获取时间
        所以将DateTimePicker1的值赋给@data

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load        'TODO: 这行代码将数据加载到表“DataSet1.SettleAccount_Info”中。您可以根据需要移动或删除它。        Me.SettleAccount_InfoTableAdapter.Fill(Me.DataSet1.SettleAccount_Info, DateTimePicker1.Text)'将        Me.ReportViewer1.RefreshReport()    End Sub

日期格式转化

        但这样运行后,有的会发现没有查到想要的数据,或者报错。这是因为日期格式的问题。
        数据库中日期格式为:yyyy-MM-dd
        而DateTimePicker1的text的格式为:****年**月**日
        这就需要我们传值的时候将格式转化成一致的:

代码为:
Me.SettleAccount_InfoTableAdapter.Fill(Me.weakDataSet1.SettleAccount_Info, Format(DateTimePicker1.Value, "yyyy-MM-dd"))

        这样,顺利完成呐~~~~~

总结:
        这样可以实现所要的功能,但几乎没写什么代码,没有用七层去实现。(如果不加数据源,可以用七层传回值)但本着尝试各种方式的理念,报表我就这么做了......


0 0
原创粉丝点击