为什么这个 do....loop只循环一次就结束了?
<%dowhilenotrs.eof%><%dimtip,sip1,sip2,sip3,sip4,ipsip=rs("IP_ls")tip=cstr(sip)sip1=l...
<%do while not rs.eof%>
<%dim tip,sip1,sip2,sip3,sip4,ip
sip=rs("IP_ls")
tip=cstr(sip)
sip1=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip2=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip3=left(tip,cint(instr(tip,".")-1))
sip4=mid(tip,cint(instr(tip,".")+1))
ip=cint(sip1)*256*256*256+cint(sip2)*256*256+cint(sip3)*256+cint(sip4)
<!--查询来访IP地址-->
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select top 1 ip_b,ip_c from ip where (ip_s<=" & ip & " and ip_e>=" & ip & ")"
rs.Open sql,Conn,1,1
if rs.eof or rs.bof then
Response.Write"未知IP"
Else
Response.Write"来访者的IP号码是:"&sip&"地址在:"
Response.Write rs(0)&"|"&rs(1)&"<br>"
end if%>
<%
rs.movenext
loop
%>
楼上说的不对.问题我自己找到了.在我原来写的程序中有两个操作数据库对象.一个是读数据库一个是查询数据库.原来的错误码在于把两个对象用了相同的名称都是:rs.把其中一个对象名改成ds就对了. 展开
<%dim tip,sip1,sip2,sip3,sip4,ip
sip=rs("IP_ls")
tip=cstr(sip)
sip1=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip2=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip3=left(tip,cint(instr(tip,".")-1))
sip4=mid(tip,cint(instr(tip,".")+1))
ip=cint(sip1)*256*256*256+cint(sip2)*256*256+cint(sip3)*256+cint(sip4)
<!--查询来访IP地址-->
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select top 1 ip_b,ip_c from ip where (ip_s<=" & ip & " and ip_e>=" & ip & ")"
rs.Open sql,Conn,1,1
if rs.eof or rs.bof then
Response.Write"未知IP"
Else
Response.Write"来访者的IP号码是:"&sip&"地址在:"
Response.Write rs(0)&"|"&rs(1)&"<br>"
end if%>
<%
rs.movenext
loop
%>
楼上说的不对.问题我自己找到了.在我原来写的程序中有两个操作数据库对象.一个是读数据库一个是查询数据库.原来的错误码在于把两个对象用了相同的名称都是:rs.把其中一个对象名改成ds就对了. 展开
2个回答
展开全部
把
<%do while not rs.eof%>
<%dim tip,sip1,sip2,sip3,sip4,ip
sip=rs("IP_ls")
tip=cstr(sip)
sip1=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip2=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip3=left(tip,cint(instr(tip,".")-1))
sip4=mid(tip,cint(instr(tip,".")+1))
ip=cint(sip1)*256*256*256+cint(sip2)*256*256+cint(sip3)*256+cint(sip4)
放在
<!--查询来访IP地址-->
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select top 1 ip_b,ip_c from ip where (ip_s<=" & ip & " and ip_e>=" & ip & ")"
rs.Open sql,Conn,1,1
的下方
<%do while not rs.eof%>
<%dim tip,sip1,sip2,sip3,sip4,ip
sip=rs("IP_ls")
tip=cstr(sip)
sip1=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip2=left(tip,cint(instr(tip,".")-1))
tip=mid(tip,cint(instr(tip,".")+1))
sip3=left(tip,cint(instr(tip,".")-1))
sip4=mid(tip,cint(instr(tip,".")+1))
ip=cint(sip1)*256*256*256+cint(sip2)*256*256+cint(sip3)*256+cint(sip4)
放在
<!--查询来访IP地址-->
dim rs,sql
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select top 1 ip_b,ip_c from ip where (ip_s<=" & ip & " and ip_e>=" & ip & ")"
rs.Open sql,Conn,1,1
的下方
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询