日期:2014-05-18  浏览次数:20975 次

将号码归属地导入数据库不成功为什么
[code=C#][/code] private void button1_Click(object sender, EventArgs e)
  {
  FolderBrowserDialog dlg = new FolderBrowserDialog();
  if (dlg.ShowDialog() != DialogResult.OK)
  {
  return;
  }
  string path = dlg.SelectedPath;
  string connStr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString ;
  using (SqlConnection conn = new SqlConnection (connStr))
  {
  conn.Open();
  using (SqlCommand cmd = conn.CreateCommand ())
  {
  cmd.CommandText = "delete from T_Numbers";
  cmd.ExecuteNonQuery();
  }
  }
  string[] files = Directory.GetFiles(path,"*.txt", SearchOption.AllDirectories );

  using (SqlConnection conn = new SqlConnection(connStr))
  {
  conn.Open();
  using (SqlCommand cmd = conn.CreateCommand())
  {
  cmd.CommandText = "Insert into T_Numbers(StarNo,EndNo,Name)values(@starno,@endno,@name)";
  foreach (string file in files)
  {
  string 运营商名称 = Path.GetFileNameWithoutExtension(file);
  string[] lines = File.ReadAllLines(file, Encoding.Default);//不用streamreader文件很小,一次性加载不占用很大内存
  //ReadAllLines默认编码是UTF-8 Encoding .Default
  foreach (string line in lines)
  {
  string[] strs = line.Split('-');
  string 开始号码 = strs[0];
  string 结束号码 = strs[1];
  string 市 = strs[2];
  cmd.Parameters.Clear();
  cmd.Parameters.Add(new SqlParameter("starno",开始号码 ));
  cmd.Parameters.Add(new SqlParameter("endno",结束号码 ));
  cmd.Parameters.Add(new SqlParameter("name",运营商名称 +市));
  cmd.ExecuteNonQuery();
  }
  }
  }
  }
  MessageBox.Show("导入成功");

   
  }

------解决方案--------------------
你先打印出
开始号码 
结束号码 
市 

这些值的内容是不是正确,是不是符合数据库字段的类型
------解决方案--------------------
请给出错误信息。
自己试着断点调式。
------解决方案--------------------
没有报告错误吗

using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into T_Numbers([StarNo],[EndNo],[Name]) values(@starno,@endno,@name)";
foreach (string file in files)
{
string 运营商名称 = Path.GetFileNameWithoutExtension(file);
string[] lines = File.ReadAllLines(file, Encoding.Default);//不用streamreader文件很小,一次性加载不占用很大内存
//ReadAllLines默认编码是UTF-8 Encoding .Default
foreach (string line in lines)
{
string[] strs = line.Split('-');
string 开始号码 = strs[0];
string 结束号码 = strs[1];
string 市 = strs[2];
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@starno",开始号码);
cmd.Parameters.AddWithValue("@endno",结束号码);
cmd.Parameters.AddWithValue("@nam