欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

从数据库中获取两个字段中的值解决方案

更新时间: 2014-01-05 00:56:04 责任编辑: Author_N1

 

从数据库中获取两个字段中的值
我有个IP数据库,有三个字段,分别是ip1(起始IP)、ip2(结尾IP)、dizhi(某个IP在IP1和IP2之间就显示这个值)

我想知道的是怎么判断这个IP值,我尝试用<=和>=判断了,但是不行的,也就是说如果数据库中有36.40.76.141和36.407.6.141,查询的IP刚好是36.407.6.142,又刚好36.40.76.141在数据库列表中靠前,所以程序就会把36.40.76.141到某个段中的地址显示出来,按理是应该显示36.407.6.141到某个字段中的地址,所以应该不能直接写<=和>=,应该是在判断之前程序把查询的这个IP给处理了再和数据库中的IP段做对比,但是我技术有限,所以不知道怎么写,希望各位大侠帮帮忙。

数据库读取现在是这样写的


<%
ip=Request.ServerVariables("REMOTE_ADDR")
Set rs=Server.CreateObject("adodb.recordset")
sql="select * from ipk where ip1<='"&ip&"' and ip2>='"&ip&"'"
rs.open sql,conn,1,1
%>
<%=rs("dizhi")%>
<%
rs.close
set rs=nothing
%>


这样写经常判断不正确的,所以希望各位大侠帮忙解决下问题。
最好是给段完整的调取代码,这样小生才能正常使用。
--参考方法--
ip转成数字吧。好处理很多。
--参考方法--
function iptonumber(ip)
    arr=split(ip,".")
    iptonumber=256*256*256*arr(0) + 256*256*arr(1) + 256*arr(2) +arr(3)'转换为数字
end if


用上面的函数将数据库中的ip地址转为数字,更新对应字段,然后通过access软件将将字段的类型改为数字,字段大小为长整形,保存就行了。

查询的时候同样用那个函数转为数字,在between查询

说到这里你还不懂楼主可以改行了~
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:56:04
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1529/
本文WWW.DOC100.NET DOC100.NET版权所有。