C# 关于分类的问题 简单问题 请认真解答 多多加分 在线等

publicDataSetSelectLeaguerInfo(){returndata.RunProcReturn("Select*fromtb_LeaguerInfoo... public DataSet SelectLeaguerInfo()
{
return data.RunProcReturn("Select * from tb_LeaguerInfo order by date desc", "tb_LeaguerInfo");
}
/// <summary>
/// 查询收费到期和未到期供求信息
/// </summary>
/// <param name="All">True显示未到期信息,False显示到期信息</param>
/// <returns>返回DataSet结果集</returns>
public DataSet SelectLeaguerInfo(bool All)
{
if (All) //显示有效收费信息
return data.RunProcReturn("Select * from tb_LeaguerInfo where showday >= getdate() order by date desc", "tb_LeaguerInfo");
else //显示过期收费信息
return data.RunProcReturn("select * from tb_LeaguerInfo where showday<getdate() order by date desc", "tb_LeaguerInfo");
}
/// <summary>
/// 查询同类型收费到期和未到期供求信息
/// </summary>
/// <param name="all">True显示未到期信息,False显示到期信息</param>
/// <param name="infoType">信息类型</param>
/// <returns>返回DatainfoType)Set结果集</returns>
public DataSet SelectLeaguerInfo(bool All, string infoType)
{
if (All) //显示有效收费信息
return data.RunProcReturn("Select * from tb_LeaguerInfo where type='" + infoType + "' and showday >= getdate() order by date desc", "tb_LeaguerInfo");
else //显示过期收费信息
return data.RunProcReturn("select * from tb_LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "tb_LeaguerInfo");
}

以下是数据库的表
表1
id
tel 联系电话
linkman 联系人
type 信息类型
showdata 信息有效截止日期
data 信息发布日期
check state 是否为推荐信息
info 信息内容

表2
id
info 信息内容
type 信息类型
tel 联系电话
linkman 联系人
check 审核状态

这个是信息供求网的业务层

infotype 是参数类型 也就是按着不同类型 进行分类查找

我现在的问题是
public DataSet SelectLeaguerInfo(bool All, string infoType)

那麽这个all呢?
为何要用这个all来判断
如果all 为 true 是不是就是说 所有的日期都没过期?
然后显示所有没过期得信息?

如果all为 false 那就是说 有过期的日期?
那就显示过期的?

而这个程序的注释 却说 显示过期的和没过期的
用all来判断
岂不是永远只能在所有的都没过期时 显示没过期的
一旦有一个过期了 就只能显示过期的了呢
这个时候如果想显示没过期的 那就没法办了??
那不是和他注释冲突了??
如果我在有过期的数据时 是不是就不能显示没过期的了呢??

不知道是不是我对他的理解有问题?

但是这是书上的案例 我觉得应该没问题 他注释里边说 是显示过期的信息 和没过期的 到底他在这里边用all 的目的何在??
有没有高手告诉我这个all到底是干嘛的

我会多给分 愁死我了 一定不要敷衍我
一定要好好看我给的条件 不要想当然的回答我
要看全看完整 然后把你对这个时候的 bool all 的目的说清楚 你认为在这个时候用bool all 是什么意思 他对过期不过期的划分如何划分的
我已经对这个问题困扰好几天了 我会多给分的
至少给150分 如果你认真看我的问题和我的条件 解释很清楚 我会追加到150分 谢谢
说错了 我会追加到200分 如果回答得好 高手进来
展开
 我来答
Matt1089
2008-06-19 · TA获得超过124个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:92.8万
展开全部
SelectLeaguerInfo
这个函数有三个重载
SelectLeaguerInfo() :
直接按时间排序返回,不区分是否过期
SelectLeaguerInfo(bool All) :
根据是否过期传递的参数分类返回
SelectLeaguerInfo(bool All, string infoType):
根据是否过期及信息类型返回

参数all的作用就是告诉程序到底返回过期还是未过期的信息
简单讲,比如页面上有两个按钮,“显示过期”、“显示未过期”
那么当你点击按钮的时候,你就可以选择函数了
点“显示过期”,就传递fales SelectLeaguerInfo(false),
程序运行到这里:
public DataSet SelectLeaguerInfo(bool All)
{
if (All) //显示有效收费信息
all就被就被false替代,那么就可以拿到想要的结果就得到了过期的产品信息;反之你点“显示未过期”,就传递true了

All只不过是参数的名称而已,反倒是这个bool要注意

这么解释楼主懂了么?
II个人的寂寞
2008-06-19 · TA获得超过1115个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:462万
展开全部
楼主误解了 “显示过期的信息 和没过期的”这句话。
它的正确理解是: 要么显示过期的,要么显示不过期的。而不是同时显示。(这是我看程序得出的结论)

这里的All仅仅只是一个标志位.作用是 给程序做判断用的,见程序:

if (All) //显示有效收费信息
return data.RunProcReturn("Select * from tb_LeaguerInfo where type='" + infoType + "' and showday >= getdate() order by date desc", "tb_LeaguerInfo");
else //显示过期收费信息
return data.RunProcReturn("select * from tb_LeaguerInfo where type='" + infoType + "' and showday<getdate() order by date desc", "tb_LeaguerInfo");

上面这段可以看出,因为all值的不同,查询的sql语句 就有不同,请仔细看
一个是 showday >= getdate() ①
而另一个是 showday<getdate() ②

这里的getdate() 是sql系统函数,得到的是系统当前的时间,而showday是表中的字段,
也就是说 ①得到的是比当前系统时间迟的,就是没有过期,有效的。
而② 得到的是比当前系统时间早的,也就是过期的。

也就是说前台传过来的 请求,如果我希望查没有过期的,就 把ALL传成true,否则传false

写得很简单,不知道你听明白了没有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式