C#获取SQL时间后怎么样做判断

xiehuangda 2013-08-01 02:45:14
C#获取SQL时间后怎么样做判断

Sql当前时间已经获取过来了,判断其当前时间如果是8点之前,查询从昨天8点至今天23:59
如果时间是8点之后了,查询从今天8点至今天23:59

比如:
打开c# Winform 窗体加载的时候,SQL当前时间获取过来了。
比如现在SQL时间是:2013-8-1 03:25:15
表1字段 dt 列出

表1:

dt name
2013-7-31 10:23:15 苹果
2013-7-31 11:21:11 橘子
2013-7-31 23:24:12 冰淇淋
2013-8-1 01:20:24 雪梨
2013-8-1 02:10:13 糖果


如果SQL时间到了今天16点了,那么现在打开软件的时候,列出的就是:

2013-8-1 10:13:55 篮球
2013-8-1 11:11:31 排球
2013-8-1 13:34:29 乒乓球
2013-8-1 14:50:16 羽毛球
2013-8-1 15:30:41 高尔夫球

请教,c# net2.0代码怎么写,谢谢!
...全文
255 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiehuangda 2013-08-04
  • 打赏
  • 举报
回复
这样还是不行。最后用啰嗦方法做了,先把SQL取出来一次,判断时间,再去给c#判断.
xianhabao820 2013-08-01
  • 打赏
  • 举报
回复
create proc proc_temp as declare @date int set @date=convert(char(2),GetDate(),114) if @date>8 select * from table where startdate='开始时间' and enddate='结束时间' else select * from table where startdate='开始时间' and enddate='结束时间' 这个就是你需要的,你只需要改下判断和查询语句就可以了,只查询一次,页面上你也不需要判断! 希望多给点分!
xianhabao820 2013-08-01
  • 打赏
  • 举报
回复
额额额! 用存储过程你只需要查询一次就可以搞定了啊! 而且你在c#页面都不需要做判断了。
xiehuangda 2013-08-01
  • 打赏
  • 举报
回复
先select ...用这个取出来。然后,再select.. 等于查询了2次数据库。这样麻烦了点
xianhabao820 2013-08-01
  • 打赏
  • 举报
回复
select convert(char(2),GetDate(),114) 这个就是取出时间里面的小时部分 判断你可以用存储过程搞定! 如果还有不懂,可以留言!
xiehuangda 2013-08-01
  • 打赏
  • 举报
回复
那等于做了2次SQL查询了。有一次搞定吗。或者,直接用SQL IF语句查询。也可以
xianhabao820 2013-08-01
  • 打赏
  • 举报
回复
sql语句 select GETDATE() from temp 然后在页面判断 datatable dt=取出来的Datatable; if (int.Parse(DateTime.Parse(date.Tostring()).Tostring("HH")) > 8) { string startdate = DateTime.Now.ToString("yyyy-MM-dd 08:00:00"); string enddate = DateTime.Now.ToString("yyyy-MM-dd 23:59:59"); string sql = "select * from table where startdate>='" + startdate + "' and enddate='" + enddate + "'"; }
xiehuangda 2013-08-01
  • 打赏
  • 举报
回复
怎么判断,时间大于小于8点,然后做那些动作。
wolf_ben 2013-08-01
  • 打赏
  • 举报
回复
那你直接用sql的if进行判断就行
xiehuangda 2013-08-01
  • 打赏
  • 举报
回复
2楼的,我知道,8点,不是20点。 你的做法是取本地计算机时间,这个不行,因为本地计算机可以修改啊。 而且,不准确。 所以,我才要取得SQL服务器时间,来做判断。
xianhabao820 2013-08-01
  • 打赏
  • 举报
回复
// int.Parse(DateTime.Now.ToString("HH")) 这个取出来的是24小时制的 //楼主的你的八点如果是早上八点那就是8,晚上则是20,下面用早上为例子 if (int.Parse(DateTime.Now.ToString("HH")) > 8) { string startdate = DateTime.Now.ToString("yyyy-MM-dd 08:00:00"); string enddate = DateTime.Now.ToString("yyyy-MM-dd 23:59:59"); string sql = "select * from table where startdate>='" + startdate + "' and enddate='" + enddate + "'"; }
wolf_ben 2013-08-01
  • 打赏
  • 举报
回复
DateTime dt1 = DateTime.Now; if (dt1.Hour < 8) { string str1 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 23:59"; string str2 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 08:00"; } else { string str1 = DateTime.Now.ToString("yyyy-MM-dd") + " 08:00"; string str2 = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59"; }试下

110,535

社区成员

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

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

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