我正在使用经典的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
提前多多欣赏。
答案 0 :(得分:2)
Execute
returns a RecordSet
, not an Integer
。
Set rs = ConnObj.Execute(mysql)
Set Howmany = rs(0)
if HowMany > 50 then
但请注意,此解决方案并未真正解决并发问题。
假设您目前有49个注册...并且10个人都在同一时间注册。所有10个注册都将被计为49个...所以你总共会得到59个。
答案 1 :(得分:0)
除了上述内容,您有时需要确保您的对象是整数,例如
if Cint(HowMany) > 50