C#读取纯真IP数据库的代码&手机号码归属地查询代码C#实现

发布时间:2009年06月04日      浏览次数:578 次
CZ_INDEX_INFO.cs文件,为辅助类,保存的是IP索引信息。
程序代码
using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ipQuery
{
//辅助类,用于保存IP索引信息
public class CZ_INDEX_INFO
{
public UInt32 IpSet;
public UInt32 IpEnd;
public UInt32 Offset;
public CZ_INDEX_INFO()
{
IpSet = 0;
IpEnd = 0;
Offset = 0;
}
}
}
PHCZIP.cs,为读取纯真IP数据库类。
程序代码
using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Text;
using System.IO;
using ipQuery;
using System.Windows.Forms;
///
/// PHCZIP 的摘要说明
///
///
public class PHCZIP
{
protected bool bFilePathInitialized;
protected string FilePath;
protected FileStream FileStrm;
protected UInt32 Index_Set;
protected UInt32 Index_End;
protected UInt32 Index_Count;
protected UInt32 Search_Index_Set;
protected UInt32 Search_Index_End;
protected CZ_INDEX_INFO Search_Set;
protected CZ_INDEX_INFO Search_Mid;
protected CZ_INDEX_INFO Search_End;
public PHCZIP()
{
bFilePathInitialized = false;
SetDbFilePath(Application.StartupPath + "\\QQWry.Dat");
}
//使用二分法查找索引区,初始化查找区间
public void Initialize()
{
Search_Index_Set = 0;
Search_Index_End = Index_Count - 1;
}
//关闭文件
public void Dispose()
{
if (bFilePathInitialized)
{
bFilePathInitialized = false;
FileStrm.Close();
//FileStrm.Dispose();
}
}
public bool SetDbFilePath(string dbFilePath)
{
if (dbFilePath == "")
{
return false;
}
try
{
FileStrm = new FileStream(dbFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
}
catch
{
return false;
}
//检查文件长度
if (FileStrm.Length = Search_Set.IpSet && ip = Search_End.IpSet && ip = Search_Mid.IpSet && ip
下面为实现手机号码归属地查询的数据链接类DB.cs
程序代码
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
namespace ipQuery
{
class DB
{
public DB()
{
}
//字符串连接
public static OleDbConnection Create_Conn(string server_path)
{
string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + server_path + ";";
OleDbConnection conn = new OleDbConnection(str_conn);
return conn;
}
}
}
调用代码如下:[code]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
namespace ipQuery
{
public partial class Fm_ipmobile : Form
{
public Fm_ipmobile()
{
InitializeComponent();
}
private void btn_ipSearch_Click(object sender, EventArgs e)
{
PHCZIP checkip = new PHCZIP();
string tt = checkip.GetAddressWithIP(tb_IP.Text);
lbl_ipResult.Text = tt;
}
private void btn_Search_Click(object sender, EventArgs e)
{
string tempPath = Application.StartupPath + "\\MobileDB.dat";
if (File.Exists(tempPath))
{
if (txt_Search.Text.Length < 7)
{
MessageBox.Show("输入的长度不够!至少前7位");
}
else
{
string cmd_str = "Select * FROM list Where num = '" + txt_Search.Text.Substring(0, 7) + "'";
OleDbConnection conn = DB.Create_Conn(tempPath);
OleDbDataAdapter da = new OleDbDataAdapter(cmd_str, conn);
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds, "temp");
conn.Close();
int count = ds.Tables["temp"].Rows.Count;
if (count < 1)
{
MessageBox.Show("没找到相应的地区");
lbl_num.Text = txt_Search.Text;
lbl_add.Text = "没找到!!";
lbl_type.Text = "----";
}
else
{
lbl_num.Text = txt_Search.Text;
lbl_add.Text = ds.Tables["temp"].Rows[0]["area"].ToString();
lbl_type.Text = ds.Tables["temp"].
界面如下:
下载代码包:C#读取纯真IP数据库的代码&手机号码归属地查询代码C#实现
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!