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("對不起,查無此號");
                        }
                        
                    }
                }
            }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章