想用asp.net 把 txt格式的手機號碼數據文件導入到sql server 中,結果沒弄成
先用winfrom導入吧
private void button1_Click(object sender, EventArgs e)
{
string strCnn = @"server=.\SQLEXPRESS; Integrated Security=true; Initial Catalog=xw";
FolderBrowserDialog dlg = new FolderBrowserDialog();
if (dlg.ShowDialog() != DialogResult.OK)
{
return;
}
string path = dlg.SelectedPath;//獲取文件路徑
using (SqlConnection conn = new SqlConnection(strCnn))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "delete from phonic";
cmd.ExecuteNonQuery();//執行非查詢語句
}
}
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly);
using (SqlConnection conn = new SqlConnection(strCnn))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into phonic(pNumber,shengfen,chengshi,yunyingshang) values(@pNumber,@shengfen,@chengshi,@yunyingshang)";
foreach (string file in files)
{
string[] lines = File.ReadAllLines(file, Encoding.Default);//不用StreamReader,因爲文件很小
foreach (string line in lines)
{
string 號碼 = "";
string 省份 = "";
string 城市 = "";
string 運營商 = "";
string[] strs = line.Split(' ');
int i = strs.Length;
if (i == 4)
{
號碼 = strs[0];
省份 = strs[1];
城市 = strs[2];
運營商 = strs[3];
}
if (i == 3)
{
號碼 = strs[0];
省份 = strs[1];
運營商 = strs[2];
城市 = " ";
}
cmd.Parameters.Clear();
cmd.Parameters.Add(new SqlParameter("pNumber", 號碼));
cmd.Parameters.Add(new SqlParameter("shengfen", 省份));
cmd.Parameters.Add(new SqlParameter("chengshi", 城市));
cmd.Parameters.Add(new SqlParameter("yunyingshang", 運營商));
cmd.ExecuteNonQuery();
}
}
}
}
MessageBox.Show("數據導入成功");
}
導入成功後
protected void Button1_Click(object sender, EventArgs e)
{
string p= this.TextBox1.Text.Substring(0,7);
string strCnn = @"server=.\SQLEXPRESS; Integrated Security=true; Initial Catalog=xw";
SqlConnection conn = new SqlConnection(strCnn);
SqlCommand comm = new SqlCommand();
comm.CommandText = "select shengfen,chengshi,yunyingshang from phonic where pNumber=@p";
comm.Parameters.Clear();
comm.Parameters.Add(new SqlParameter("@p",p));
comm.Connection = conn;
SqlDataReader reader = null;
conn.Open();
reader = comm.ExecuteReader();
reader.Read();
this.province.Text = reader.GetString(reader.GetOrdinal("shengfen"));
this.city.Text = reader.GetString(reader.GetOrdinal("chengshi"));
this.ISP.Text = reader.GetString(reader.GetOrdinal("yunyingshang"));
reader.Close();
conn.Close();
}
功能是簡單實現了,還沒有優化,漏洞很多啊。