手機號碼歸屬地的數據信息是存於某文件夾下的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("對不起,查無此號");
}
}
}
}