水晶报表,解决——提示“您请求的报表需要更多信息.”(转)

  string sql = "Select * from Orders";
        string DBConfig_sql = @"Data Source=WAN-9013A0BB35C\SQL2005;Initial Catalog=Northwind;User ID=sa";
        DataSet ds = new DataSet();
        SqlConnection sqlCon = new SqlConnection(DBConfig_sql);
        SqlCommand sqlCmd = new SqlCommand(sql, sqlCon);
        SqlDataAdapter sqlAd = new SqlDataAdapter();

        sqlAd.SelectCommand = sqlCmd;
        sqlAd.Fill(ds, "Orders");

        CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));
        //注意此处必需指明Dataset中的表的名称,否则会提示“您请求的报表需要更多信息.”
        CrystalReportSource1.ReportDocument.SetDataSource(ds.Tables["Orders"]);
        //{?}中的参数可以不用赋值,即使赋了值也不起作用。
        CrystalReportSource1.ReportDocument.ParameterFields["Parm"].CurrentValues.AddValue("1234567");
        CrystalReportSource1.ReportDocument.ParameterFields["Title"].CurrentValues.AddValue("这时推模式的报表样例!");
        CrystalReportSource1.DataBind();

        CrystalReportViewer1.ReportSource = CrystalReportSource1;
        CrystalReportViewer1.DataBind();

总结:

连数据库,sql字符串,或者自己写一个存储过程。
填充dataset
报表查看器获取ReportDocument(报表引擎)对象,从报表抽取数据
将dataset数据传递给报表引擎

转载于:https://www.cnblogs.com/hanjin/archive/2010/04/12/1710271.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值