CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

改程序应该怎么设计?

楼主wflaugh(闪)2004-08-02 21:36:42 在 .NET技术 / ASP.NET 提问

程序的效果是,,在数据库中有一个姓名字段,,在前台,网页上,显示今天值班的人名,,当第2天的8:30以后,显示下一个人命,这样循环下去,当几天以后人名都显示完了,,再显示第一个人名,程序应该怎么样设计,还有数据库应该怎么样设计比较好呢?等回复~~ 问题点数:0、回复次数:18Top

1 楼wflaugh(闪)回复于 2004-08-03 07:17:34 得分 0

?Top

2 楼ycc2008(皮皮)回复于 2004-08-03 07:36:33 得分 0

有个时间字段,记录每个人的值日时间,每天的8:30的时候与数据库里的时间字段比较,得到人名Top

3 楼wflaugh(闪)回复于 2004-08-04 19:17:56 得分 0

好象这个方法不行吧Top

4 楼lay993132001(林生)回复于 2004-08-04 19:26:38 得分 0

分配给每个人具体的值班时间。。Top

5 楼fantasydog(百里怜雪)回复于 2004-08-04 20:03:47 得分 0

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

6 楼lzyang(梁祝)回复于 2004-08-04 20:34:04 得分 0

不用想太多,当打开该网页时根据服务器具体时间判断应该显示哪个人名即可。Top

7 楼softchao(小款※人生就像大便, 往往努力了半天却只迸出几个屁 )回复于 2004-08-04 21:08:06 得分 0

根据服务器具体日期和时间判断应该显示哪个人名即可  
  Top

8 楼softchao(小款※人生就像大便, 往往努力了半天却只迸出几个屁 )回复于 2004-08-04 21:13:38 得分 0

当然方法有很多的   你也可以在数据库里面这样处理  
  一个星期   七个人   一个人一个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   employeeTop

9 楼tnt8csdn2000(琥珀雨田)回复于 2004-08-04 22:24:40 得分 0

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

10 楼wy_rover(wy_rover)回复于 2004-08-05 02:15:21 得分 0

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

11 楼wy_rover(wy_rover)回复于 2004-08-05 02:16:30 得分 0

dt   >   Table1.BeginTime   AND   dt   <   Table1.EndTimeTop

12 楼wflaugh(闪)回复于 2004-08-21 15:26:06 得分 0

还有没有更好的方法?请大家帮帮忙~~Top

13 楼wflaugh(闪)回复于 2004-08-21 15:38:38 得分 0

因为人员数还有可能增加,,还有就是怎么样用程序控制每天的固定一个时间触发一个事件?我用c#语言的~~谢谢回复Top

14 楼fantasydog(百里怜雪)回复于 2004-08-21 22:47:39 得分 0

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

15 楼wflaugh(闪)回复于 2004-08-22 00:55:25 得分 0

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自动刷新一边数据库~~谢谢你的回复!Top

16 楼gaolin(木木)回复于 2004-08-24 14:10:41 得分 0

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

17 楼fantasydog(百里怜雪)回复于 2004-08-24 15:40:21 得分 0

你可以在某一天的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();Top

18 楼fantasydog(百里怜雪)回复于 2004-08-24 15:41:06 得分 0

错了,第二行那个参数15和50改成8和30Top

相关问题

  • 应该怎样理解面象对象程序设计?
  • 关于ACM/ICPC(程序设计竞赛)应该怎样学习?
  • CASL程序设计
  • 《windows 程序设计》
  • 《windows程序设计》
  • “windows 核心编程”与“windows 高级程序设计”我应该买那一本?
  • 只有C++基础,想学WINDOWS下的程序设计应该看什么书
  • *********<<windows 程序设计>>上的源程序,编译通不过.怎么改??????(急!waiting...........)********************
  • 关于《windows 程序设计》
  • 关于《windows程序设计》

关键词

  • 字段
  • 数据库
  • 执行
  • tbluser
  • 程序
  • 显示
  • 应该
  • 设计
  • waitfor
  • 判断

得分解答快速导航

  • 帖主:wflaugh

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo