using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Configuration;
using System.Data.SqlClient;
namespace 手机号码归属地
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn导入_Click(object sender, EventArgs e)
{
//创建文件选择窗口
FolderBrowserDialog dlg = new FolderBrowserDialog();
//如果没有选择文件就return
if (dlg.ShowDialog() != DialogResult.OK)
{
return;
}
//获取选择的路径
string path = dlg.SelectedPath;
//清空原有数据
string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "delete from T_Numbers";
cmd.ExecuteNonQuery();
}
}
//读取path内的*.txt
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "insert into T_Numbers(startno,endno,name) values(@StartNo,@EndNo,@Name)";
foreach (string file in files)
{
string 运营商名称 = Path.GetFileNameWithoutExtension(file);
string[] lines = File.ReadAllLines(file, Encoding.Default);
foreach (string line in lines)
{
string[] strs = line.Split('-');
string 开始号码 = strs[0];
string 结束号码 = strs[1];
string 市 = strs[2];
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("StartNo", 开始号码));
cmd.Parameters.Add(new SqlParameter("EndNo", 结束号码));
cmd.Parameters.Add(new SqlParameter("Name", 市));
cmd.ExecuteNonQuery();
}
}
}
}
MessageBox.Show("导入成功!");
}
private void button1_Click(object sender, EventArgs e)
{
string ConnStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(ConnStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from T_Numbers where StartNo<=@No and EndNo>=@No";
cmd.Parameters.Add(new SqlParameter("No", txtNo.Text));
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
MessageBox.Show("手机归属地:" + name);
}
else
{
MessageBox.Show("找不到运营商信息!");
}
}
}
}
}
}
}