小弟刚学ado,今天在数据库northwind下自己建了一个表user,想往里添加记录,代码如下,请帮忙看看,谢谢!
System.Data.SqlClient.SqlConnection cnn=new System.Data.SqlClient.SqlConnection();
cnn.ConnectionString="server(local);database=Northwind;uid=sa;pwd=";

cnn.Open();

string sql="insert into user values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
System.Data.SqlClient.SqlCommand com=new System.Data.SqlClient.SqlCommand(sql,cnn);
com.ExecuteNonQuery();//执行到这里有错误: System.Data.SqlClient.SqlException: 在关键字 'user' 附近有语法错误。
cnn.Close();

解决方案 »

  1.   

    User 是系统关键字 要用[User] 才可以
      

  2.   

    string sql="insert into user (userid,password) values ('"+TextBox1.Text+"','"+TextBox2.Text+"')";
      

  3.   

    调试一下,把SQL放到SQL SERVER中是否执行
      

  4.   

    string sql="insert into [user] values('"+TextBox1.Text+"','"+TextBox2.Text+"')";
      

  5.   

    2楼,问题解决了,谢谢,是不是不用user换个别的名字就不用加括号了?
      

  6.   

    CSharpProgrammer提到的正确。sorry
      

  7.   

    是SQL语句错误
    用别的名字也一样要加括号.
      

  8.   

    不用系统关键字就不用加括号了。比如用 user1 就不用加括号。
      

  9.   

    要是没有把握,不知道是不是关键字,一律加上括号也不会错。建议对MS的数据库的表名、字段名都加上括号,以免不小心和系统关键字冲突。
    (注意,加括号的规则只能用于Microsoft的数据库,如SQL Server 2000、Access、Excel等。对其他数据库,如: Sybase、Oracle等数据库不适用)