https://bbs.bccn.net/thread-464688-1-1.html
vfp增加同一记录的时间间隔
vfp增加同一记录的时间间隔
如增加一第记录
2016-5-11 16:40 14 11
张三 610211198801220237
2016-5-11 16:41 33 11
张二 610211199101215971
2016-5-11 16:45 14 14
张三 610211198801220237 怎样控制这条记录在5分钟之内不能重复增加
求大侠指点
是不是这个啊
如是,在SQL2000中,可以处理的
--create table #tmp(姓名 varchar(10),卡号 varchar(19),时间 datetime)
--insert into #tmp(姓名,卡号,时间) values('张三','123456789012345678',getdate())
--insert into #tmp(姓名,卡号,时间) values('李四','987654321012345678',getdate())
--select * from #tmp
declare @dt datetime
declare @nm varchar(10)
declare @kh varchar(19)
set @dt=getdate()
set @nm='张三'
set @kh='123456789012345678'
if
not exists(select
* from (select top 1 * from
#tmp order by 时间 desc)a where a.姓名=@nm and a.卡号= @kh and datediff("mi",a.时间,@dt)
<5)
begin
insert into #tmp(姓名,卡号,时间) values(@nm,@kh,@dt)
select 1 as res
end
else
select 0 as res
--以上在 SQL2000测试通过。#TMP 为 SQL2000的临时表,如果在VFP中使用,用text to ....endtext,同时,要把 @ 改为 ?
dt=datetime()
text to insert_str noshow
if
not exists(select
* from (select top 1 * from
#tmp order by 时间 desc)a where a.姓名
=?nm and a.卡号= ?
kh and datediff("mi",a.时间
,?dt)<5)
begin
insert into #tmp(姓名,卡号,时间) values
(?nm,?kh,?dt)
select 1 as res
end
else
select 0 as res
endtext
sqlexec(nhandle,insert_st,'sqltable')
返回表 sqltable.res 为1时,表示成功插入,0 时 表示5分钟内,或者连接失败。
[此贴子已经被作者于2016-5-15 21:08编辑过]