大家好,麻烦大家帮忙看看。
我是想显示在线会员的级别,usersonline这个表里面是在线会员。user这个表里面是会员的资料。userroleid是会员的角色。1为管理员。
但是我运行的结果是
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
如果把onlinerole=conn1.Execute("select UserRoleID From user where UserName='"&onRs("UserName")&"' ")(0)这句注销掉就能够正常显示在线会员,但是分不了级别。我老是感觉哪里有问题,但还是找不到,麻烦大家帮忙看看。
onRs("UserName")可以显示会员的名字。
<%
onsql="select * from [UsersOnline] where UserName<>''"
set onRs=Server.CreateObject("ADODB.Recordset")
Set onRs=conn1.Execute(onsql)
do while not onRs.eof
onlinerole=conn1.Execute("select UserRoleID From user where UserName='"&onRs("UserName")&"' ")(0)
if onlinerole=1 then
Usefacephoto="<img src=images/UserRoleID/1.gif>"
elseif onlinerole=2 then
Usefacephoto="<img src=images/UserRoleID/2.gif>"
elseif onlinerole=4 then
Usefacephoto="<img src=images/UserRoleID/3.gif>"
elseif onlinerole=6 then
Usefacephoto="<img src=images/UserRoleID/4.gif>"
elseif onlinerole=3 then
Usefacephoto="<img src=bbs/images/UserRoleID/5.gif>"
else
Usefacephoto="<img src=bbs/images/UserRoleID/5.gif>"
'Usefacephoto="<img src=bbs/images/UserRoleID/6.gif>"
end if
if NO_count < 6 then
NO_count=NO_count+1
else
NO_count=1
end if
content=""&content&Usefacephoto&" <a href=Profile.asp?UserName="&onRs("UserName")&">"&onRs("UserName")&"</a> "
if NO_count = 6 then content=""&content&"<br>"
onRs.Movenext
loop
onRs.close
conn1.close
%>