2012-01-11 38 views
2

我在古典ASP中有一箇舊項目。我遇到註冊問題總是超過我在數據庫中設置的最大數量的問題。我的代碼首先檢查當前的最大席位,然後進行插入。古典ASP併發插入

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

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

,但它不正常,現在的工作。我該如何解決這個問題? TIA

+0

第一步,向我們展示真實的代碼,您包含的代碼沒有足夠的使用。系統使用的是什麼數據庫? – AnthonyWJones 2012-01-12 13:12:31

回答

1

或許不是每次都執行select count(*) as cnt,而是將當前值存儲在應用程序變量中。

對不起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 
+0

謝謝。我可以在.asp頁面添加applicaiton(「count」)代碼,還是必須創建一個global.asa頁面來存儲應用程序變量? – user788448 2012-01-11 21:12:43

+0

您應該將第一個if語句添加到全局文件。 – 2012-01-11 21:43:24