作用域的问题

yan1617 2003-11-27 08:55:34
我在if语句中定义了一个参数,想在if语句外再使用它,请问有什么办法?
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
HapTears 2003-11-28
  • 打赏
  • 举报
回复
不baseRerot是报表的基类,所以的继承类都可以强制转换为基类的!!
yan1617 2003-11-28
  • 打赏
  • 举报
回复
???????????????????????????
yan1617 2003-11-27
  • 打赏
  • 举报
回复
sql语句省略了
yan1617 2003-11-27
  • 打赏
  • 举报
回复
xxkwds sqlds=new xxkwds(); //数据集
string sql;
if(DropDownList1.SelectedItem.Text=="简号")
{
sql="";
sqlda = new SqlDataAdapter(sql,dbcn);
sqlda.Fill(sqlds,"xxkwprint");
jhReport rptReport=new jhReport(); ////报表
}
else if(DropDownList1.SelectedItem.Text=="切块号")
{
sql="";
sqlda = new SqlDataAdapter(sql,dbcn);
sqlda.Fill(sqlds,"xxkwprint");
qkReport rptReport=new qkReport(); ////报表
}
.
.
.

//应用参数方法
report a=new report();
Hashtable t = new Hashtable();
t.Add("operator","aa");
a.BuildReportParameters(CrystalReportViewer1, t);
a.BuildReportViewerParameters(CrystalReportViewer1,t); a.BuildReportClassParameters(rptReport,t); //用到if语句中选的rptReport
polarlm 2003-11-27
  • 打赏
  • 举报
回复
代码?
yan1617 2003-11-27
  • 打赏
  • 举报
回复
我在if语句中定义的是报表,根据不同的条件选择不同的报表
HapTears 2003-11-27
  • 打赏
  • 举报
回复
那你可以在if外面第一个object变量,然后在if中强制转换为你要的类型,不知道可不可以!
yan1617 2003-11-27
  • 打赏
  • 举报
回复
我要根据if条件决定类型变量啊
gabriel1 2003-11-27
  • 打赏
  • 举报
回复
狂晕,你在if语句之前定义这个变量,然后在if里改变它的值,这个改变动作是有效,可保存的。
在{}里定义变量,出了if作用域,将被视为垃圾回收掉。
polarlm 2003-11-27
  • 打赏
  • 举报
回复
那为什么不在if外的{}中定义这个变量呢?
hoen 2003-11-27
  • 打赏
  • 举报
回复
那你就在if外定义一个全局变量
yan1617 2003-11-27
  • 打赏
  • 举报
回复
baseReprot是建一张空报表吗?运行出错,提示无法转换
HapTears 2003-11-27
  • 打赏
  • 举报
回复
你可以把jhReport,qkReport从同一个基类上继承(如:baseReprot)
那样你的代码可以这样写
xxkwds sqlds=new xxkwds(); //数据集
baseReprot rptReport=new baseReprot ();//添加
string sql;
if(DropDownList1.SelectedItem.Text=="简号")
{
sql="";
sqlda = new SqlDataAdapter(sql,dbcn);
sqlda.Fill(sqlds,"xxkwprint");
jhReport jrptReport=new jhReport(); ////报表
rptReport=(baseReprot)jrptReport;//添加
}
else if(DropDownList1.SelectedItem.Text=="切块号")
{
sql="";
sqlda = new SqlDataAdapter(sql,dbcn);
sqlda.Fill(sqlds,"xxkwprint");
qkReport qrptReport=new qkReport(); ////报表
rptReport=(baseReprot)qrptReport;//添加
}
.
.
.

//应用参数方法
report a=new report();
Hashtable t = new Hashtable();
t.Add("operator","aa");
a.BuildReportParameters(CrystalReportViewer1, t);
a.BuildReportViewerParameters(CrystalReportViewer1,t); a.BuildReportClassParameters(rptReport,t); //用到if语句中选的rptReport

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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