经典ASP并发插入

时间:2012-01-11 20:51:53

标签: asp-classic

我在古典ASP中有一个旧项目。我遇到的问题是注册总是超过我在数据库中设置的最大数量。我的代码先检查当前的最大座位,然后再插入。

sql就像select count(*) as cnt, sessionsize from signup

 if cnt >= sessionsize then
     stop
 else
     run insert query
 end if

但它现在无法正常工作。我该如何解决这个问题? TIA

1 个答案:

答案 0 :(得分:1)

也许不是每次都执行select count(*) as cnt,而是将当前值存储在应用程序var中。

抱歉asp生锈了,我试图记住这些东西。另外我现在是C#编码器。

if (Application("Count") = "") then
    Application.Lock()
    Application("Count") = Select count(*) ....
    Application.Unlock()
end if

if (Application("count") > sessionsize) then
    stop
else
    Application.Lock()
    Application("Count") = Application("Count") + 1
    run insert query //Place this line before the unlock
    Application.Unlock()
end if