关键字“ user”附近的C#错误语法

时间:2019-03-21 10:36:53

标签: c#

c#Windows窗体错误; 关键字“ user”附近的C#错误语法 请帮帮我。.我尝试了所有可能的方法,但无法解决

  private void button1_Click(object sender, EventArgs e)
    {
        string fname = textBox1.Text;
        string lname = textBox2.Text;
        string username = textBox5.Text;
        string password = textBox6.Text;
        string dob = textBox3.Text;
        string mobile = textBox4.Text;
        string address = richTextBox1.Text;
        string gender="";
        if(radioButton1.Checked){
            gender=radioButton1.Text;
        }else if(radioButton2.Checked){
            gender=radioButton2.Text;
        }else{
            MessageBox.Show("Please select Gender");
        }
        SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\users\user\My Documents\visual studio 2012\Projects\cSharpProject\cSharpProject\CSharpProjectDataBase.mdf;Integrated Security=True");
        con.Open();
        SqlCommand command;
        SqlDataAdapter sda = new SqlDataAdapter();
        string query = "insert into user values('" + @fname.Trim() + "','" + @lname.Trim() + "','" + @username.Trim() + "','" + @password + "','" + @dob + "','" + @gender + "','" + @mobile.Trim() + "','" + @address + "' ";
        command = new SqlCommand(query,con);
        sda.InsertCommand = new SqlCommand(query, con);
        sda.InsertCommand.ExecuteNonQuery();
    }

2 个答案:

答案 0 :(得分:1)

Microsoft SQL Server使用保留的关键字来定义,操作和访问数据库。保留关键字是Transact-SQL语言语法的一部分,SQL Server使用该关键字来解析和理解Transact-SQL语句和批处理。尽管在语法上可以在Transact-SQL脚本中使用SQL Server保留的关键字作为标识符和对象名,但是您只能通过使用定界的标识符来做到这一点。

您可以在此处找到完整列表。

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-2017

在您的方案中,如果您想保留您一直使用的主题,那么最好将其重命名为“ Users”或“ UserList”。

答案 1 :(得分:0)

user是保留词,因此需要像insert into [user] values...insert into "user" values...

那样转义