asp查询mdb格式的ip数据库,并显示地理位置的asp代码

我有一个mdb格式的ip数据库,希望大家能够帮我做一个ip地址在线显示地理位置的代码。下面一个是网上搜来的,不过运行时显示的是"该网页无法显示",各位聪明的网友看看以下代... 我有一个mdb格式的ip数据库,希望大家能够帮我做一个ip地址在线显示地理位置的代码。
下面一个是网上搜来的,不过运行时显示的是"该网页无法显示",各位聪明的网友看看以下代码错在哪里,当然最好是直接获取用户ip地址,直接显示其地理位置,免去输入的步骤,急啊!。

不好SQL查询
<%
"连接数据库
dim
conn,connstr,db
db="ip.mdb"
Set conn =
Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Server.MapPath(""&db&"")
conn.Open
connstr
%>

查询页
<form id="form1"
name="form1" method="post" action="">
<label>
请输入要查询的IP

<input name="ip" type="text" id="ip" />
</label>

<label>
<input type="submit" name="Submit" value="查询" />

</label>
</form>

显示页
<%
if not
request.form("ip")="" then
"如果表单提交了数据就进行处理
sip=trim(request.form("ip"))
cip=split(sip,".")

if ubound(cip)<3 then "如果提交的IP数据不足4位,就补齐
redim Preserve cip(3)
"重新定义数组,并保留原来的值
for i=3 to ubound(cip) step -1
cip(i)=0
next
end
if

for i=0 to 3 "这里分别检查数组元素是否为数值字符,如果不是,则可以用IP规则的最大值和最小值分别查,我这里只用最小值
if not
IsNumeric(cip(i)) then cip(i)=0
next

ip=256*256*256*cip(0)+256*256*cip(1)+256*cip(2)+cip(3)-1
dim
rs,sql,Country,City
Set
rs=Server.CreateObject("ADODB.Recordset")
sql="select * from Address where
IP1<="&ip&" and IP2>="&ip
rs.open sql,conn,1,1
if rs.eof
then
City="未知"
Country="未知"
else
City=rs("city")
Country=rs("country")
end
if
rs.close
set rs=nothing
response.write
"你要查询的IP是"&sip&",来自"&country&city
end if
%>
展开
 我来答
帐号已注销
2013-10-03 · TA获得超过516个赞
知道大有可为答主
回答量:1788
采纳率:86%
帮助的人:959万
展开全部
<%
'自动获得IP
Dim uip,cip,ip
uip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
If uip = "" Then uip = Request.ServerVariables("REMOTE_ADDR")
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
dim conn,connstr,db
db="ip.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
cip=split(uip,".")
if ubound(cip)<3 then '如果提交的IP数据不足4位,就补齐
 redim Preserve cip(3) '重新定义数组,并保留原来的值
 for i=3 to ubound(cip) step -1
  cip(i)=0
 Next
End If
for i=0 to 3  
    if not IsNumeric(cip(i)) then cip(i)=0
Next
ip=256*256*256*cip(0)+256*256*cip(1)+256*cip(2)+cip(3)-1
dim rs,sql,Country,City
Set rs=Server.CreateObject("ADODB.Recordset")
'自己改下相应字段名等
sql="select * from Address where startip<="&ip&" and endip>="&ip
rs.open sql,conn,1,1
if rs.eof Then
    City="未知"
    Country="未知"
Else
    City=rs("ip_city")
    Country=rs("ip_county")
end If
response.write Err.description
rs.close
set rs=Nothing
response.write "你要查询的IP是"&uip&",来自"&city&"-"&country
%>
追问
看不懂啊,可否以纯文本方式再发一次! 结尾的 "你要查询的IP是"&uip&",来自"&city&"-"&country  不知道有没有漏掉引号!
追答
呵呵,这样看不懂,纯文本更容易读懂吗?代码没错,你复制到记事本中就是纯文本了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
田响建站
2013-10-03 · 田响建站,纯手工建网站
田响建站
采纳数:3384 获赞数:2327

向TA提问 私信TA
展开全部
建议:
使用QQ_IP数据库
好处是可以随时更新数据库
使用也规范
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式