ASP如何在每晚12点自动更新MSSQL数据库里的某表的某字段的值

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:45:52
比如我有个的表,里面都是注册人员,每个注册人员都有个huiyuan的字段,表示此人是否为会员,默认为0,代表不是会员,我就是想让注册的人每天在论坛里发表一片帖子,此人的huiyuan字段里就变成1,表示是会员,那么他就能看一些会员的文章,但是晚上12点让数据库更新,让每个用户的huiyuan里的值又变成0,就是实现每天要至少发一贴才能看会员的文章,第二天又要发帖才能看,发帖的页面为addbbs.asp,查看文章的页面为view.asp,如何在这两页中加代码让addbbs.asp中发贴成功就让数据库的huiyuan为1,view.asp里面查看huiyuan的值,为0则显示请先发贴才能看,为1则显示正常的查看

同意一楼,ASP是不会自动更新的,也就是说,ASP触发事件中没有时间触发这一项,但可以用时间去判断,所以他不会有定时功能,当然我指的不是游览页面时,在线时间长等定时功能的.

事实上,如果真的确少时间触发时,可以考虑服务器的定时功能,比如服务器在某一个时间执行某一个事件,常用的就是计划任务,当一定的时间时让其执行一个VBS脚本,机时这个脚本恰是对某一个数据库的更新,这样可以完成你的功能的.但这种效率等各方面对你的功能来说都不是很好的,因为需要更新一个数据库的.为什么不单独进行各用户的判断呢?换一下思路也许解决的更好.

比如在其临时的一个表中,记录会员登陆的一些临时信息的地方,可以设置一个最后发贴时间的,就像常用的登陆中有一个最后登陆时间一样,只不过这个时间不是登陆时就更改了,而是发贴时进行一个更改.这样你可以根据最后的登陆时间来判断是否允许其查看某一些特定的文件,比如根据这个时间对比,发一个贴可以让其在24小时内查看特定页面,当然,当天更好判断.这样不是更好吗?

当然,发贴表中一般会存储其发贴时间的,这样统计今天的发贴数量也是一个很好的办法,但是这个由于其效率比较低,一般的发贴表中是一个巨大的数据库,对其进行查询还是一个比较耗时的,包括对连接等等.这也就是一楼所说的,从理论上来讲使用这种方式数据库是比较安全的,如果使用增加一个最后发贴时间的话,只是一个效率上的考虑,而数据库倒是不安全的作法,因为这样很可能会引起数据库的不一致的现象的发生的!

VBS的方式就同二楼的一个SQL定时功能,但SQL语句自己不会执行,数据库也没有这个功能的,其实SQL一般都是写在了VBS脚本中比较简单的!这种功能会做很多的无用功的,对于你的问题不是最佳选择!

asp不会自动更新的,除非当时有人在线,但可以在在sql里做一个.但又麻烦.
建议,修改你的思路,
当一个人上线时,你判断他今天的发贴量是否大于等于1,如果大于等于1,他就可以看一些会员的文章,否则不行.
这样,还省点一个huiyuan字段,何乐而不为?

有两个方法,
第一个,在用户上线时可以判断今天有没有发帖。
第二个,在为数据库添加一个定时作业。每天00:00执行一些s