private void btnRegister_Click(object sender, EventArgs e)
        {
          string     cs = "server= 127.0.0.1;uid=sa;pwd=110 ;database=yanshi";
                       SqlConnection sqlcon = new SqlConnection(cs);
            sqlcon.Open();
            string name = this.textBox1.Text;
            string tel = this.textBox2.Text;
          string   sql = "insert into  User (strName,strTel) values('" + name + "','" + tel + "')";
            SqlCommand com = new SqlCommand(sql,sqlcon);
           int i = Convert.ToInt32(com.ExecuteNonQuery());
            if (i > 0)
            {
                sqlcon.Close();
                MessageBox.Show(" 登记成功");
            }
            else
            {
                sqlcon.Close();
                MessageBox.Show(" 登记失败");
            } }
现在错误是:关键字 'User' 附近有语法错误,但是User表就2个字段:strName,strTel,请问究竟错在哪里?

解决方案 »

  1.   

    User是关键字.所以要用[]括起来.TRY:
    string  sql = "insert into  [User] (strName,strTel) values('" + name + "','" + tel + "')"; 
      

  2.   

    你把生成后的SQL在查询分析器里运行一下。看看能不能成功就知道了。
      

  3.   

    User 是SQL的系统变量,你换个名字就行了
      

  4.   

    就两个字段的话,可以不写列名,但values的顺序要跟列的顺序一致
    string  sql = "insert into User values('" + name + "','" + tel + "')"; 
      

  5.   

    User 是SQL的系统变量,你换个名字就行了
      

  6.   

    User 是SQL的系统变量,你换个名字就行了。给下分了。