有两个表,一个用户表,里面有用户名,最后登陆时间等字段,一个消息表,有接收人,发送时间等字段,现在A给B发消息,在发送的页面有一个listbox设置时效天数,假如B登陆时超过A所设置的天数,消息就删除,不知道这个删除语句如何写,主要是时间的判断。
现在在登陆button下更新数据库取得了最后登陆时间,string sql = "update 用户信息表 set 最后登陆时间 = '" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "'where 用户名 = '" + Session["name"] + "'";
 请大家到这个帖子看看,很着急才又发了一个,大家帮忙http://community.csdn.net/Expert/topic/5412/5412585.xml?temp=.2773249

解决方案 »

  1.   

    你就判断一下,用户现在的登录时间和你消息表中的最后时间,如果现在登录时间>消息表中的时间那就删除
    if(消息表中的最后时间<用户登录时间)
    delete 消息表 where 消息表中用户名=用户名
      

  2.   

    string sql1  = "delect from 消息表 where id in (select DATEDIFF(day,a.最后登陆时间,a.发送时间)>a.时效 from 消息表a inner join 用户信息表 b on a.接收人= b.用户名)";
    自己写了一个但是报错
      

  3.   

    string sql1 = "delete from 消息表 where id in (select  a.id from 消息表 a  inner join 用户信息表 b on a.接收人=b.用户名 and   DATEADD(day, a.时效,a.发送时间)<b.最后登陆时间)";