急~~按日期查找内容,在线等~~~

jiangmurong 2011-04-15 09:24:30
今天,最近三天,最近一周,最近一个月 查找内容,

这是前台代码

<select name="adddate" size="1" >
<option selected value="">请选择</option>
<option value="0">今天</option>
<option value="3">最近三天</option>
<option value="7">最近一周</option>
<option value="30">最近一个月</option>
</select>



后台我是这样写的


if (PageValidate.IsDigit(Request, "adddate") != string.Empty)
{

adddate = Request["adddate"];
}
switch(adddate)
{
case "0":
wheres += " and Datediff(day,adddate,getdate())<adddate";
break;
case "3":
wheres += " and Datediff(day,adddate,getdate())<adddate";
break;
case "7":
wheres += " and Datediff(day,adddate,getdate())<adddate";
break;
case "30":
wheres += " and Datediff(day,adddate,getdate())<adddate";
break;
default:
break;

}



请问为什么点了没效果呢?

wheres 是下面的查询语句里的条件,我还有按关键字查找的,按关键字查找有效果.

...全文
96 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjh200102 2011-05-10
  • 打赏
  • 举报
回复
当天的就不用这样比较了,
直接对比就行了
[Quote=引用 11 楼 jiangmurong 的回复:]

请问下,明天,后天,比较这样写为什么不可以:
HTML code
<select name="appdate" size="1" >
<option selected value="">请选择</option>
<option value="-7">未来一周</option>
<option value="-3">未来三天</option>
……
[/Quote]
jiangmurong 2011-05-10
  • 打赏
  • 举报
回复
请问下,明天,后天,比较这样写为什么不可以:
<select name="appdate" size="1" >
<option selected value="">请选择</option>
<option value="-7">未来一周</option>
<option value="-3">未来三天</option>
<option value="-2">后天</option>
<option value="-1">明天</option>
<option value="0">今天</option>
</select>


switch (appdate)
{
case "-7":
wheres += " and Datediff(day,appdate,getdate())<" + appdate;
break;
case "-3":
wheres += " and Datediff(day,appdate,getdate())<" + appdate;
break;
case "-2":
wheres += " and Datediff(day,appdate,getdate())=" + appdate;
break;
case "-1":
wheres += " and Datediff(day,appdate,getdate())=" + appdate;
break;

case "0":
wheres += " and Datediff(day,appdate,getdate())=" + appdate;
break;
default:
break;

}
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
正确写法如下:

if (PageValidate.IsDigit(Request, "adddate") != string.Empty)
{

adddate = Request["adddate"];
}
switch(adddate)
{
case "0":
wheres += " and Datediff(day,adddate,getdate())="+adddate;
break;
case "3":
wheres += " and Datediff(day,adddate,getdate())<"+adddate;
break;
case "7":
wheres +=" and Datediff(day,adddate,getdate())<"+adddate;
break;
case "30":
wheres += " and Datediff(day,adddate,getdate())<"+adddate;
break;
default:
break;

}





给遇到类似问题的人参考
CreateIT 2011-04-15
  • 打赏
  • 举报
回复
不太了解啥意思,但是给你一个答案参考下,或许对你有帮助
查询最近一个月的时间
(sql编程)
declare @id varchar(19)--定义一个变量接收
select @id=CardId from cardinfo where datepart(yyyy,openDate)=datepart(yyyy,getdate())and
datepart(MM,openDate)=datepart(MM,getdate())
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
ok~已经解决了,今天改为"="就可以了

谢谢了
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cjh200102 的回复:]

where Datediff(day,数据库中日期字段,getdate())<多少天内

你的这二个字段都放在里面了。

应该改成" and Datediff(day,adddate,getdate())<"+adddate;


引用楼主 jiangmurong 的回复:
按今天,最近三天,最近一周,最近一个月 查找内容,

这是前台代码
HTML code

<se……
[/Quote]

谢谢你啊,基本解决了,就是选择今天的时候,得不到数据,本来是有数据的
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dingzongyinnihao 的回复:]

你转换的日期类型是否正确???你断点调试下,看看获得的sql语句是什么???
[/Quote]

我打印了wheres 当选择日期进行筛选时,无论选 哪一个wheres都是 and Datediff(day,adddate,getdate())
cjh200102 2011-04-15
  • 打赏
  • 举报
回复
where Datediff(day,数据库中日期字段,getdate())<多少天内

你的这二个字段都放在里面了。

应该改成" and Datediff(day,adddate,getdate())<"+adddate;


[Quote=引用楼主 jiangmurong 的回复:]
按今天,最近三天,最近一周,最近一个月 查找内容,

这是前台代码
HTML code

<select name="adddate" size="1" >
<option selected value="">请选择</option>
<option value="0">今天</option>
<option value="3">最近三天</option……
[/Quote]
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dingzongyinnihao 的回复:]

你转换的日期类型是否正确???你断点调试下,看看获得的sql语句是什么???
[/Quote]

下面就是一个分页的

string page = Request["page"];
Page PageClass = new Page(tables, "id,username,tel,email,respective_projects,(select top 1 tname from customer_users where id=" + tables + ".userid) as rname,adddate,(select top 1 id from customer_alone_record where comid=" + tables + ".id) as reid", wheres, "id", "1", "id", "" + urls + "?keywords=" + keyword + "&page=", 30, page, "");
PageClass.Get_Content(newslist);
pagestring.Text = PageClass.Get_Page();



  • 打赏
  • 举报
回复
你转换的日期类型是否正确???你断点调试下,看看获得的sql语句是什么???
jiangmurong 2011-04-15
  • 打赏
  • 举报
回复
谁帮我解答下啊

110,567

社区成员

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

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

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