传值到水晶报表页打印的时候出现了个非常奇怪的问题...

new122333 2006-06-23 10:46:39
我用的是水晶报表10
现在有两个页面,从页面A传值companyname到报表页面,代码如下:
StaffAllCristal Repor=new StaffAllCristal();
StaffCrystal ReportDoc = new StaffCrystal();
private void Page_Load(object sender, System.EventArgs e)
{
string strcompanyname=this.Request.QueryString["companyname"];
if(strcompanyname=="全部单位")
{
string sql = "Select * from cdstaff where passflag=1 order by companyname,departmentname,worktype";
OracleDataAdapter daOrder = new OracleDataAdapter(sql,myclass.cnn);
DataSet ds = new DataSet();
daOrder.Fill(ds,"cdstaff");
Repor.SetDataSource(ds);
CRVstaff.ReportSource = Repor;

}
else
{
string sql = "Select * from cdstaff where companyname='"+strcompanyname+"' and passflag=1 order by companyname,departmentname,worktype";
OracleDataAdapter daOrder = new OracleDataAdapter(sql,myclass.cnn);
DataSet ds = new DataSet();
daOrder.Fill(ds,"cdstaff");
ReportDoc.SetDataSource(ds);
CRVstaff.ReportSource = ReportDoc;
}


}
现在问题是这样的:
在生成报表的时候可以实现,调试的时候strcompanyname还是A页面传过来的值
点水晶报表打印按扭的时候 调试的时候strcompanyname也还是A页面传过来的值
就是点确定以后,就是水晶报表好像生成PDF的时候,页面报表中的东西打印出来是空,我调试发现是:这时候strcompanyname就不是A页面传过来的值了。而是"?",所以我的SQL语句就变成了
Select * from cdstaff where companyname='?' and passflag=1 order by companyname,departmentname,worktype
所以打印就是空了

请问为什么会变成'?',怎样解决水晶报表传值打印的问题??谢谢

...全文
248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaRedRiver 2006-08-02
  • 打赏
  • 举报
回复
mark
new122333 2006-06-26
  • 打赏
  • 举报
回复
非常感谢楼上!!!!!!!!感谢,问题就在这里,搞定了..
clxsl_huang 2006-06-26
  • 打赏
  • 举报
回复
点击的时候会返回一下服务器
建议用ViewState取值,
if(!IsPostBack)
{
ViewState["id"]=this.Request.QueryString["companyname"];

}
new122333 2006-06-23
  • 打赏
  • 举报
回复
还没有人顶...高手那去了呢..............
我自己顶哈

4,820

社区成员

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

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