openFileDialog1.FileName = "";
            openFileDialog1.Filter = "文本文件|*.txt|CS文件|*.cs|所有文件|*.*";
           DialogResult dr = openFileDialog1.ShowDialog();
           if (dr == DialogResult.OK)
           {
               string connStr = @"Data Source=lenovo-e0bed844;Initial Catalog=book;Uid=qq;Pwd=123";
               using (SqlConnection conn = new SqlConnection(connStr))
               {
                   using (SqlCommand cmd = new SqlCommand())
                   {
                       cmd.Connection = conn;
                       string sql = "insert into [user2](Uname,Upwd) values(@name,@pwd) ";
                       string[] lines = File.ReadAllLines(openFileDialog1.FileName,Encoding.Default);
                       conn.Open();
                       foreach (string line in lines)
                       {
                           string[] s1 = line.Split(',', ',');                           if (s1.Length == 2)
                           {
                               cmd.Parameters.Clear();
                               cmd.Parameters.AddWithValue("@name", s1[0]);
                               cmd.Parameters.AddWithValue("@pwd", s1[1]);
                               cmd.CommandText = sql;
                               cmd.ExecuteNonQuery();
                           }                       }                   }
               }
           }在SQL语句中为什么参数@name不应加引号
 string sql = "insert into [user2](Uname,Upwd) values(@name,@pwd) ";
这个清空是什么意思
cmd.Parameters.Clear();往parameters里添加 是一个什么过程
cmd.Parameters.AddWithValue("@name", s1[0]);
cmd.Parameters.AddWithValue("@pwd", s1[1]);
希望解答一下 谢谢
            

解决方案 »

  1.   

    cmd.Parameters.Clear();就是清空,怕有垃圾参数影响
      

  2.   

    在SQL语句中为什么参数@name不应加引号
     string sql = "insert into [user2](Uname,Upwd) values(@name,@pwd) ";
    sql中没有双引号,,单引号的话有的时候要不要都一样的..
    往parameters里添加 是一个什么过程
    cmd.Parameters.AddWithValue("@name", s1[0]);
    cmd.Parameters.AddWithValue("@pwd", s1[1]);
    希望解答一下 谢谢
    这个是添加值的方法;;
    向S1[0] 插入值 这个值就是动态变量 @name