ASP时间判断,数据库中记录的前次提交记录时间,再次提交时不能在已经提交的同一时间段内。

数据库中记录了前次提交数据时的时间,再次提交数据时不能与已经提交的数据时间段相冲突。例:时间段:7:30~8:00;12:00~12:30;12:30~13:00;17:... 数据库中记录了前次提交数据时的时间,再次提交数据时不能与已经提交的数据时间段相冲突。
例:时间段:7:30~8:00; 12:00~12:30; 12:30~13:00; 17:00~17:30
我已在7:35提交了记录,现在如果在7:50(也就是在7:30~8:00时间段内)再次提交数据,则返回“数据重复!”。如果在其它时间段内提交数据,则可以正常提交数据。
另外如果数据库中没有当天的记录,或者没有记录,则直接提交数据。
我写了一段代码,可是出不来想要的效果。
<%
Dim nt,na,nb,aa,ab,ac,ad,ae,aaa
nt=(time())
na=Hour(nt)
nb=Minute(nt)
ac=TimeSerial(7,35,0) ’在测试时用的原始记录时间,正式使用时此处为数据库中时间字段。
aa=TimeSerial(na,0,0)
ab=TimeSerial(na,30,0)
ad=TimeSerial(na+1,0,0)
ae=TimeSerial(na,30,0)
aaa="记录重复!"
if(nb<30)then
if((datediff("n",ab,ac)<0) and (datediff("n",ac,aa)<0))then
response.write(aaa)
else
if((datediff("n",ad,ac)<0) and (datediff("n",ac,ae)<0))then
response.write(aaa)
end if
end if
end if
%>
希望大家能提供一个可行的代码,只是给我思路我也没办法用啊!
另外我上面写的就是比较大小,可是
if((datediff("n",ab,ac)<0) and (datediff("n",ac,aa)<0))then 例如:此条件不成立
response.write(aaa) :跳过
else :否则
if((datediff("n",ad,ac)<0) and (datediff("n",ac,ae)<0))then :此条件成立
response.write(aaa) :执行这条语句

这一段IF 判断完之后不会执行条件成立的语句,包括上面的IF也是在条件成立的情况下也无法执行相应的语句。
展开
 我来答
bdxbr
2012-08-28 · TA获得超过1053个赞
知道小有建树答主
回答量:957
采纳率:44%
帮助的人:307万
展开全部
你的时候段的意思是半小时以前都不能重复提交
还是说只是你上面列出的4个时间段内不能重复提交,其他时间可以呢?
以下是按照固定的时间段来控制
<%
Dim nt,na,nb,aa,ab,ac,ad,ae,aaa
nt=(time())
na=Hour(nt)
nb=Minute(nt)
a=TimeSerial(7,35,0) '在测试时用的原始记录时间,正式使用时此处为数据库中时间字段。
aa=TimeSerial(7,50,0)
ab=TimeSerial(na,30,0)
ac=TimeSerial(na+1,0,0)
aaa="记录重复!"
function chk(d) '检测时间属于哪个时间段
b1=array("7:30:00","12:00:00","12:30:00","17:00:00") '存放每个时间段的开始时间
b2=array("8:00:00","12:30:00","13:00:00","17:30:00") '存放每个时间段的结束时间
chk=0 '初始化返回值,0代码不属于任何时间段,1为第一时间段,以此类推
for i=0 to ubound(b1) '循环检测
if d>=CDate(Date()& " " & b1(i)) and d<=CDate(Date()& " " & b2(i)) then '如果时间大于同一时间段的开始时间且小于线束时间,条件成立
chk=i+1 '返回时间段值
exit for '退出for循环
end if
next
end function
if chk(CDate(Date() & " " & aa))=chk(CDate(Date() & " " & a)) then
response.write aaa
end if
if chk(CDate(Date() & " " & ab))=chk(CDate(Date() & " " & a)) then
response.write aaa
end if
%>
另,你说的你的判断语句成立但是执行。你复制了你的代码看一下,if ..then语句与条件表达式之间没有空格???没空格if语句怎么可能会执行成功
追问
那如果时间不固定呢?我只是初步做四个时间段八个时间点,如果时间点有变化怎么办?比如做八个时间段,另外这些时间段我想他们可以按我设定的时间去判断。比如:我设置的第一个时间是8:00,那系统就自动判断,第一个时间段是7:30~8:00,或者我在系统中设置一个参数,比如设置一个时间间隔15分钟,我输入8:00之后,系统就自动将时间段设置成7:45~8:00请问这个又怎么做?另外,如果跨天的那种时间,会不会出现时间判断错误呢?
追答
你说的功能应该是可以实现的。想法是有了。不过还得具体把代码写出来实践一下看行得通不
最近比较忙。没时间写。过段时间有空再来补上
现在我写的这代码是没有跨天的时间段的。如果在有跨天的时间段会麻烦一些。应该也是OK的。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
白临枫
2012-08-27 · TA获得超过100个赞
知道小有建树答主
回答量:562
采纳率:100%
帮助的人:227万
展开全部
把时间转换成数字,然后进行判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澈水招落叶
2012-08-26 · TA获得超过392个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:275万
展开全部
你两个时间相减,然后节点相减。比较这两个差值。
追问
这个方法我想过,不过没实现!
可否写一下代码?我比较需要可以实用的源码。需要的是可以实用的,而不是用代码方式表示的思路。谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缪狸子
2012-08-27
知道答主
回答量:77
采纳率:0%
帮助的人:13.3万
展开全部
两个减,比较!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式