从数据库获取行数,然后将其转换为数字

时间:2013-02-20 21:46:20

标签: mysql asp-classic

我正在使用经典的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

提前多多欣赏。

2 个答案:

答案 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