本人目前在开发一个人事考勤系统, 遇到一个问题 !!  我在设计数据库表时候 有一列是考勤时间的 datetime类型 和 flag int 类型 表示考试标识!  由于签到和签退都是在一个窗口的,在loading事件中加入了查询数据库判断, 表中 flag  0 表示 签到 1 表示签退  如果某人今天早上已经签到 ,下午在进入页面的时候应该是显示 签退 , 但是我用系统当前时间去查找 竟然是查不到数据  包括在数据库李也查不到 请问则从情况该如何处理?  select * from aa where time = + DateTime.Now ;

解决方案 »

  1.   

    "select * from aa where time = '"+ DateTime.Now "'";?
      

  2.   

    select * from aa where time> DateTime.Now.Date and ID=xxx
      

  3.   

    你是要查人签退的你查时间做什么?搞不太明白 如果说一个人签到了不管什么时候当他再登陆的时候 你就应该让它显示签退的界面~ 登陆的时候有一个员工账号或ID的东西吧   登陆的时候先按id(或账号)查询登录状态 如果是登陆过的用户就显示签退页面~ 没有就显示签到页页~`  前提是时间限制为当天`~
      

  4.   

    当然不能用等于了因为dateTime.now取得是当前时间,你录入数据的时间肯定不是你查询的时间所以你查不到信息你可以查询一个时间段内的信息
      

  5.   

      我之前已经判断过用户是不是合法用户了, 
     
      现在数据库中 2008-11-15 08:00:00.547  这是早上签到的时间  之后我要签退了是不是用 select * from aa where id = this.id and time > Datetime.Now   ??
      

  6.   

    string sql="select count(*) from aa where id = '"+id+"' and time >='"Datetime.Now.Date.ToString()+"'";如果语句执行的结果是大于0的,那么这个人可以签退,否则这个人应该签到。。Datetime.Now.Date后的.Date不能省略。。意思是只取今天的日期。。只要今天有签到就行了。。
      

  7.   

      恩 恩!!  查不来了!!  可可! 谢谢 谢谢!!!!  最后还要 ToString()吗!  
      

  8.   


    要啊。
    其实最好是Datetime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss")
      

  9.   

    en  en !!  我明白了! 谢谢! 我已经试验过了 有记录了!!!  谢谢 谢谢!!!! 我结帖了!!!!!  再次感谢大家对我的帮助!!!!!