首页 > 代码库 > 【ADO.NET】5、手机归属地查询( winfrom )

【ADO.NET】5、手机归属地查询( winfrom )

using System.IO;

有一个数据库手机号码的txt文件,格式是 : 13500000000-13560000000-中国移动

查询结果: 湖南移动[邵阳]
文件夹选择对话框 FolderBrowserDialog;

string[] Directory.GetFiles(路径,类型,选项) //按照通配符搜索目录下的文件
Path.GetFileNameWithoutExtension(文件名) //得到文件名(不要扩展名)
Path.Combine(路径1,路径2) //合并两个路径
Path.GetFileName(路径) //得到文件名(含有后缀)
Path.GetFullPath(路径) //得到文件的全路径

导入前先清除旧数据

界面是这样的:
一个文本输入框:txtMessage
一个查询按钮: btnCha
一个导入按钮: btnInput
一个Label控件: labMessage

private void btnInput_Click(object sender, EventArgs e)        //导入按钮 单击事件{    FolderBrowserDialog dlg = new FolderBrowserDialog();    //选择目录对话框    if (dlg.ShowDialog() != DialogResult.OK)            //判断是否点确定    {        return;    }    string path = dlg.SelectedPath;                //获取目录路径    string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; //获取字符串    using (SqlConnection conn = new SqlConnection(Str))     //使用变量Str进行连接    {        conn.Open();        using (SqlCommand cmd = conn.CreateCommand())        {            cmd.CommandText = "delete from T_phone";    //先删除表            cmd.ExecuteNonQuery();         }    }     //搜索指定目录下的所有 .txt 文件     string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);          using (SqlConnection conn = new SqlConnection(Str))     {           conn.Open();           using (SqlCommand cmd = conn.CreateCommand())           {                     cmd.CommandText = "insert into T_phone(StarNo,EndNo,Name) values(@SN,@EN,@NA)";            foreach (string file in files)            {             string 运营商 = Path.GetFileNameWithoutExtension(file);      //得到文件名,无扩展名             string[] lines = File.ReadAllLines(file, Encoding.Default);  //读取所有行,默认编码为UTF-8                        foreach (string line in lines)            {                string[] str = line.Split(-);    //按"-"符分割                string StartN = str[0];                string EndN = str[1];                string Name = str[2];                cmd.Parameters.Clear();          //先清空 Parameters                cmd.Parameters.Add(new SqlParameter("SN", StartN));                cmd.Parameters.Add(new SqlParameter("EN", EndN));                cmd.Parameters.Add(new SqlParameter("NA",运营商 + Name));                cmd.ExecuteNonQuery();            }            }            MessageBox.Show("导入完成!");        }        } } private void btnCha_Click(object sender, EventArgs e)    //查询按钮,单击事件 {    string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;    using (SqlConnection conn = new SqlConnection(Str))    {       conn.Open();       using (SqlCommand cmd = conn.CreateCommand())       {        cmd.CommandText = "select Name from T_phone where StarNo<@Num and EndNo>@Num";        cmd.Parameters.Add(new SqlParameter("@Num",txtNum.Text.Trim()));        SqlDataReader dr = cmd.ExecuteReader();        if (dr.Read())        {        string result =Convert.ToString(dr["Name"]);        labMessage.Text = null;        labMessage.Text ="号码地址:" + result;        }        else        {        labMessage.Text = "号码地址:" + "地址未知!";        }      }   } }

 

【ADO.NET】5、手机归属地查询( winfrom )