C# 手机号码归属地查询 - 诗闵

时间:2024-03-07 18:58:57

C# 手机号码归属地查询

一 导入数据库

手机号码归属地的数据信息是存于某文件夹下的txt文档,如下图所示:

打开一txt文档里面的数据格式如下:

13003000000-13003009999-合肥
13003010000-13003029999-蚌埠
13003030000-13003049999-芜湖
13003050000-13003069999-合肥
13003070000-13003079999-淮南
13003080000-13003089999-合肥

。。。。。。。。。

创建数据库和表,表字段id,startNo,endNo,area(area由txt文件名和城市组成)

扫描该文件夹下的txt文档导入至创建的数据库表中。

代码如下:当然winfoorm 上需要一个导入按键以及一个FolderBrowserDialog控件。用来选中该文件夹。

if (fbd.ShowDialog() != DialogResult.OK)
{
return;
}
string path=fbd.SelectedPath;
string[] files=Directory.GetFiles(path,"*.txt",SearchOption.AllDirectories);

using(SqlConnection conn=new SqlConnection(dbconn))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText
="insert into T_cellNo(startNo,endNO,area) values(@sNO,@eNO,@area)";
string lines=null;
foreach(string file in files)
{
string fname=Path.GetFileName(file);
string filename = Path.GetFileNameWithoutExtension(file);
using (FileStream filestream = File.OpenRead(file))
{
StreamReader reader
=new StreamReader(file,System.Text.Encoding.GetEncoding("GB2312"));
while((lines=reader.ReadLine())!=null)
{
string[] strs = lines.Split(\'-\');
string startNO = strs[0].ToString();
string endNo = strs[1].ToString();
string areas = strs[2].ToString();
string area = filename + areas;
cmd.Parameters.Clear();
cmd.Parameters.Add(
new SqlParameter("sNO", startNO));
cmd.Parameters.Add(
new SqlParameter("eNO", endNo));
cmd.Parameters.Add(
new SqlParameter("area", area));
cmd.ExecuteNonQuery();

}
}
}
MessageBox.Show(
"数据库导入成功");

二,输入手机号点击按钮查询归属地代码

using (SqlConnection conn =new SqlConnection(dbconn))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText
="select * from T_cellNO where startNO<=@NO and endNO>=@NO";
cmd.Parameters.Add(
new SqlParameter("NO", textBox1.Text));
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
string area = reader.GetString(reader.GetOrdinal("area"));
MessageBox.Show(
"手机号码归属地"+area);
}
else
{
MessageBox.Show(
"对不起,查无此号");
}

}
}
}