首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

.net , C#net ,IP数据库匹配,该如何解决

2012-01-30 
.net ,C#.net ,IP数据库匹配请问各位大哥,我在网上下了一个IP数据库下来,看到那些数据懵了,我不知道怎么样

.net , C#.net ,IP数据库匹配
请问各位大哥,我在网上下了一个IP数据库下来,看到那些数据懵了,我不知道怎么样匹配




它的数据是这样的
  IP1 IP2 country city


2375745536 2375919871 黑龙江省鸡西市 东北虎




  请问,如果我知道了一个IP地址,我该怎么匹配啊???

  各位大哥帮帮忙啊,在线等!!!!


[解决办法]

SQL code
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_IP2Int]GO--1. 字符串IP地址转换成IP数值函数。CREATE FUNCTION dbo.f_IP2Int(@ip char(15))RETURNS bigintASBEGIN    DECLARE @re bigint    SET @re=0    SELECT @re=@re+LEFT(@ip,CHARINDEX('.',@ip+'.')-1)*ID        ,@ip=STUFF(@ip,1,CHARINDEX('.',@ip+'.'),'')    FROM(        SELECT ID=CAST(16777216 as bigint)        UNION ALL SELECT 65536        UNION ALL SELECT 256        UNION ALL SELECT 1)a    RETURN(@re)ENDGO/*===========================================================*/if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Int2IP]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_Int2IP]GO--1. 字符串IP地址转换成IP数值函数。CREATE FUNCTION dbo.f_Int2IP(@IP bigint)RETURNS varchar(15)ASBEGIN    DECLARE @re varchar(15)    SET @re=''    SELECT @re=@re+'.'+CAST(@IP/ID as varchar)        ,@IP=@IP%ID    from(        SELECT ID=CAST(16777216 as bigint)        UNION ALL SELECT 65536        UNION ALL SELECT 256        UNION ALL SELECT 1)a    RETURN(STUFF(@re,1,1,''))ENDGO 

热点排行