使用sql语句直接生成dataset做为水晶报表的数据源

来源:互联网 发布:java发展前景 编辑:程序博客网 时间:2024/06/15 16:07

  使用sql语句直接生成dataset做为报表的数据源(即push模式),这样就可以接受参数了。当然报表有设置参数的功能 这方面我还没有详细研究

  一.sql语句中没有使用表的相互关联(简单的查询语句)

  设计一个DataSet

  1) 右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”

  2) 从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)

  3) 此时在数据集中就会有一个Stores表的结构图。xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面

  创建一个.rpt文件crystalreport1.rpt同时将其指定给上一步建立的DataSet。

  4) 使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。

  5)建立.rpt文件之后,右击“详细资料”-->"添加/删除数据库“profile.yahoo.com/337ZFW6LOECP4X7LM3HY2MNLN4/

  6) 在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“ADO.Net数据集”--"DataSet1“,选择”Stores“表。

  7) 将”Stores"表添加到“选定的表”中,点击“OK”

  8) 建立一个WebForm1.aspx 拖入一个Crystal Report Viewer 控件

  9)WebForm1.aspx.cs

  ReportDocument oRpt = new ReportDocument();

  string RptDir="f:\\bbs\\test\\crystal\\crystalreport1.rpt";

  oRpt.Load(RptDir);

  ...//根据sql语句得到DataSet 这个就不多说了

  oRpt.SetDataSource(ds);

  CrystalReportViewer1.ReportSource=oRpt;

  //注意push模式用不到设置logOnInfo参数

  10)运行试试看!应该没问题哦

0 0
原创粉丝点击