標籤:param 刪除表 direct values 手機號碼 connect 文本 資料庫 without
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 )