关于水晶报表push模式

shupingda123 2007-04-27 06:18:13
代码:
SqlConnection con=new SqlConnection("uid=sa;pwd=123;database=tt;server=shupingda\\spd");
SqlDataAdapter da=new SqlDataAdapter("select * from t1",con);
con.Open();
DataSet1 ds=new DataSet1();
da.Fill(ds,"tt1");
ReportDocument doc = new ReportDocument();
doc.SetDataSource(ds);
//doc.Load(Server.MapPath("Report.rpt"));

CrystalReportViewer1.ReportSource=doc;
错误提示:
行 23: da.Fill(ds,"tt1");
行 24: ReportDocument doc = new ReportDocument();
行 25: doc.SetDataSource(ds);
错误行号: 行: 25 无效报表文件路径
我前面添加数据集也添加了,反正该做的都做了,请问错在哪了啊?
谢谢,急急
...全文
515 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mdl821120 2007-05-06
  • 打赏
  • 举报
回复
doc.Load(Server.MapPath("Report.rpt"));
mhxcy 2007-04-28
  • 打赏
  • 举报
回复
SqlDataAdapter da=new SqlDataAdapter("select * from t1",con);
da.Fill(ds,"tt1");
wanghu24 2007-04-28
  • 打赏
  • 举报
回复
而且load要在SetDataSource前边
wanghu24 2007-04-28
  • 打赏
  • 举报
回复
//doc.Load(Server.MapPath("Report.rpt"));
你都把这句给隐起来了,当然找不到报表了
forgot 2007-04-27
  • 打赏
  • 举报
回复
你用的就是Push模式,Pull和Push模式的区别在于:
Pull模式是指水晶报表主动去把数据"拉"回来,数据跟.NET没有关系,水晶报表主动接收数据.
Push模式是指.NET把数据先"拉"回来,然后推给水晶报表,水晶报表被动接收数据

两个模式区别在于,前者是水晶报表拉数据回来,后者是.NET拉数据回来,然后推给水晶报表.你的代码中
SqlConnection con=new SqlConnection("uid=sa;pwd=123;database=tt;server=shupingda\\spd");
SqlDataAdapter da=new SqlDataAdapter("select * from t1",con);
con.Open();
DataSet1 ds=new DataSet1();
da.Fill(ds,"tt1");

就是表明拉数据是由.NET代码完成的.所以属于推模式
forgot 2007-04-27
  • 打赏
  • 举报
回复
你的doc是怎么定义的?你应该这样:
myReport doc = new myReport();
然后在myReport.cs中要设置属性连接上报表,像这样:
public class myReport : ReportClass {

public myReport() {
}

public override string ResourceName {
get {
return "myReport.rpt";//这里连接上你所设计的报表
}
set {
// Do nothing
}
}
HappinessBoy 2007-04-27
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5497/5497697.xml?temp=.1061823

帮我看一下.
HappinessBoy 2007-04-27
  • 打赏
  • 举报
回复
水晶报表push模式和pull模式的区别究竟是什么啊,我自己都搞晕了.
是不是就看他们的连接方式是oledb还是ado.net啊?

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧