把IP地址轉(zhuǎn)成長(zhǎng)數(shù)字,///算法:128.125.1.24→(128*256*256*256)+(125*256*256)+(1*256)+24/////////publicstaticulongIpToLong(stringip){try{string[]cip=ip.Trim().Spl" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

獲取最新的IP數(shù)據(jù)庫(kù)及如何查詢

系統(tǒng) 2379 0



.NET中把IP地址轉(zhuǎn)為長(zhǎng)整型的方法:
    
    /// <summary>把IP地址轉(zhuǎn)成長(zhǎng)數(shù)字,
    /// 算法:128.125.1.24 → (128*256*256*256) + (125*256*256) + (1*256) +24
    /// </summary>
    /// <param name="ip"></param>
    /// <returns></returns>
    public static ulong IpToLong(string ip)
    {
        try
        {
            string[] cip = ip.Trim().Split('.');
            string[] aip = new string[4];
            cip.CopyTo(aip, 0);
            if (cip.Length < 3)
            {
                for (int i = 3; i > cip.Length; i--)
                {
                    aip[i] = "0";
                }
            }
            uint[] iip = new uint[4];
            Regex reg = new Regex(@"\d+");
            for (int x = 0; x < aip.Length; x++)
            {
                if (reg.IsMatch(aip[x]))
                    iip[x] = Convert.ToUInt32(aip[x]);
                else
                    iip[x] = 0;
            }
            ulong uip = Convert.ToUInt64(256 * 256 * 256 * iip[0] + 256 * 256 * iip[1] + 256 * iip[2] + iip[3]);
            return uip;
        }
        catch (Exception ess)
        {
            throw ess;
        }
    }

  


我用自己的機(jī)器試,一開始就一下更新所有,結(jié)果搞到網(wǎng)頁超時(shí),后來就通過SQL語句的TOP先把一部分取出來更新好后再更新另一部分,SQL語句如下:
    
select top 100 * from ipdata where  CHARINDEX('.',starip,0)>0

  

CHARINDEX函數(shù)是MSSQL的內(nèi)置函數(shù),類似于IndexOf。

更新好后詢查就可以把要查詢的IP轉(zhuǎn)成長(zhǎng)整形,然后通過SQL中的BETWEEN..AND..來查詢了。
    
select * from ipdata where @ip between starip and endip

  


如果不把IP轉(zhuǎn)成長(zhǎng)整型的話則查詢出來的會(huì)有問題的!!!

獲取最新的IP數(shù)據(jù)庫(kù)及如何查詢


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 铜梁县| 开江县| 漯河市| 阳西县| 临泉县| 天峨县| 谢通门县| 武隆县| 津市市| 东阳市| 渝中区| 保康县| 儋州市| 泾源县| 防城港市| 长岛县| 正蓝旗| 昌宁县| 乌拉特后旗| 枞阳县| 大同县| 五大连池市| 兴化市| 凭祥市| 冷水江市| 合作市| 娱乐| 内丘县| 金华市| 望江县| 玉田县| 靖宇县| 巨鹿县| 紫阳县| 平南县| 保康县| 绥棱县| 教育| 周口市| 正镶白旗| 宽甸|