2013-02-20 2 views
1

저는 이것을 위해 고전적인 ASP를 사용하고 있습니다. 내 목표는 "Sorry registration is full"메시지가 표시되기 전에 작성된 항목 수를 파악하는 것입니다. 데이터베이스의 행 수를 계산하는 것이 단순 할 것이라고 생각했지만 형식 불일치 오류가 발생했습니다. 나는 행에 무엇이 있는지 상관하지 않습니다 ... 그냥 원시 번호를 찾고.데이터베이스에서 행 수를 가져 와서 숫자로 변환하십시오.

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

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 건에 이릅니다. 가끔 개체는 정수 있는지 확인해야 위의 외에도

+0

감사합니다! 그건 트릭을 ... 많이 고마워! – sullivansg

0

, 예를 들어

if Cint(HowMany) > 50 
+0

도움을 주신 John 께 감사드립니다! – sullivansg

관련 문제