做一个数组,name[size],size为人数。
比较时间和初始日期,
8:30前:currentName = name[(nowDay-1-startDay)%size]
8:30后:currentName = name[(nowDay-startDay)%size]或者你也可以做一个循环链表,显示当前节点的人名。每天8:30时触发一个事件,将节点向后移一位

解决方案 »

  1.   

    当然方法有很多的 你也可以在数据库里面这样处理
    一个星期 七个人 一个人一个ID 每执行一次后显示ID+1的人名
    也就是每天8:30执行一次 也可以给没间隔多长时间换个人名
    EG:
    --WAITFOR
    --例 等待1 小时2 分零3 秒后才执行SELECT 语句
    waitfor delay ’01:02:03’
    select * from employee
    --例 等到晚上11 点零8 分后才执行SELECT 语句
    waitfor time ’23:08:00’
    select * from employee
      

  2.   

    业务逻辑应该留在业务层,不应该在数据库中判断。当ID+1没有数据的时候选择ID=1的。
      

  3.   

    table 值班日期表 tablTable1
    --------
    ID
    BeginTime
    EndTime
    UserID
    -------------------
    table 人员信息表 tblUser
    -------------------
    UserID
    UserNameDateTime dt = System.DateTime.Now;把dt传入到sql中,SELECT UserName FROM  tblUser WHERE tblUser.UserID = tblTable1.UserID AND dt > BeginTime AND dt < EndTime
      

  4.   

    dt > Table1.BeginTime AND dt < Table1.EndTime
      

  5.   

    System.Timers timer=new System.Timers.Timer();
    timer.Elapsed += new System.Timers.ElapsedEventHandler(YourFunction);
    timer.Interval = 24*60*60*1000;
    timer.start();
      

  6.   

    fantasydog(百里怜雪) :
    System.Timers timer=new System.Timers.Timer();
    timer.Elapsed += new System.Timers.ElapsedEventHandler(YourFunction);
    timer.Interval = 24*60*60*1000;
    timer.start();
    这段代码是从什么时候开始触发呢?起始时间应该怎么设置呢?比如,我想每天的8:30自动刷新一边数据库~~谢谢你的回复!
      

  7.   

    很简单,就是在数据库里面添加一个从1开始逐步递增的id字段和一个标志字段,之日的姓名的标志设置为真,到了下个值日时间段去查询数据库,找到上次值日的姓名(通过标志位状态查找),如果在该姓名的id上增加一位,然后输入增加一位id的姓名即可,如果到了最大后再返回到id位1处从头开始
      

  8.   

    你可以在某一天的8:30起动这个程序阿,然后它每24小时自动执行一次。
    或者:
    System.DateTime now = System.DateTime.Now.AddDays(1);
    System.DateTime dt = new DateTime(now.Year,now.Month,now.Day,15,50,0,0);
    System.TimeSpan timeSpan =dt-System.DateTime.Now;
    System.TimeSpan ts = new TimeSpan(1,0,0,0,0);
    if(timeSpan.Days>0)
    timeSpan = timeSpan.Subtract(ts);
    System.Threading.Thread.Sleep(timeSpan);timer.start();