人民警察体能标准2017:ip读取地区asp代码修改

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 19:07:11
我由001001001001格式ip改为1.1.1.1格式后,ip读取正确,但是地区分析出现错误,代码如下,请改正。
Num=Split(Ip,".")
IpOne=Num(0)
IpTwo=Num(0)&"."&Num(1)
For I=0 to 3
Sip=Sip&String(3-Len(Num(I)),"0")&Num(I)
Next
Sql="Select Top 1 Area,Address From IpInfo Where StartIp<='"&SIp&"' and EndIp>='"&SIp&"' Order By StartIp"
Rs.Open Sql,Conn,1,3
If Rs.Eof Or Rs.Bof Then
Area="其他地区"
Address="其他地区"
Else
Area=Rs("Area")
Address=Rs("Area")&Rs("Address")
End If
Rs.Close
Sql="Select Top 1 Scope From IpScope Where StartIp<='"&SIp&"' and EndIp>='"&SIp&"' Order By Scope DESC"
Rs.Open Sql,Conn,1,3
If Rs.Eof Or Rs.Bof Then
Scope="OtherNum"
Else
Scope=Rs("Scope")
End If
Rs.Close

Function address(sip)
Dim aConnStr,aConn,adb
Dim str1,str2,str3,str4
Dim num
Dim country,city
Dim irs,SQL
dim sss(4)
If IsNumeric(Left(sip,2)) Then
If sip="127.0.0.1" Then sip="192.168.0.1"
str1=Left(sip,InStr(sip,".")-1)
sss(1)=cint(str1)
sip=mid(sip,instr(sip,".")+1)
str2=Left(sip,instr(sip,".")-1)
sss(2)=cint(str2)
sip=Mid(sip,InStr(sip,".")+1)
str3=Left(sip,instr(sip,".")-1)
sss(3)=cint(str3)
str4=Mid(sip,instr(sip,".")+1)
sss(4)=cint(str4)
for i = 1 to 4
if sss(i)>255 or sss(i)<0 then country ="未知,"
next
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
'adb = "ip.mdb"
'aConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(adb)
'Set AConn = Server.CreateObject("ADODB.Connection")
'aConn.Open aConnStr
sql="select top 1 country,city from address where ip1 <="&num&" and ip2 >="&num&""
Set irs=Conn.execute(sql)
If irs.EOF And irs.bof Then
city="无此数据!"
Else
country=irs(0)
city=irs(1)
End If
Set irs=Nothing
SqlQueryNum = SqlQueryNum+1
address=country&city
Else
address="未知"
End If
End Function