
namespace 手机号码归属地查询
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog dlg = new FolderBrowserDialog();
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();
}
}
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);//不用StreamReader,因为文件很小,
//一次性加载,也不占多少内存,ReadAllLines默认编码是UTF-8
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(line);
}
}
}
}
MessageBox.Show("导入成功!");
}
private void btnSearch_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", textBox1.Text));
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
MessageBox.Show("手机归属地:" + name);
}
else
{
MessageBox.Show("找不到运营商信息");
}
}
}
}
}
}
}