1

これにはクラシックASPを使用しています。私の目標は、「申し訳ありませんが登録がいっぱいです」というメッセージが表示される前に、何件のエントリが作成されたかを把握することです。データベースの行数を数えるだけで簡単だと思いましたが、タイプの不一致エラーが発生しました。行に何があるかは気にしません...生の番号を探すだけです。

Set ConnObj = Server.CreateObject("ADODB.Connection")
ConnObj.Provider="Microsoft.Jet.OLEDB.4.0;Data Source=my-database-here"
ConnObj.Open

mysql="SELECT COUNT(*) FROM Contest"

Set HowMany = ConnObj.Execute(mysql)

if HowMany > 50 then

response.Write "Sorry registration is full"

response.end

end if

事前に感謝します。

4

2 に答える 2

2

ExecuteRecordSetではなく を返しますInteger

Set rs = ConnObj.Execute(mysql)
Set Howmany = rs(0)

if HowMany > 50 then

ただし、このソリューションは実際には並行性に対応していないことに注意してください。

現在 49 人の登録があり、10 人が同時に登録しているとします。10 の登録すべてに 49 のカウントが与えられるので、合計 59 になります。

于 2013-02-20T21:53:10.343 に答える
0

In addition to the above you sometimes need to make sure your object is an integer, eg

if Cint(HowMany) > 50
于 2013-02-21T12:27:56.673 に答える