带参数的INSERT INTO语句中的语法错误

时间:2014-12-15 18:29:23

标签: c# visual-studio-2012

我经常收到这个错误,我不知道这里有什么问题?

Error

con.Open();

String query = "INSERT INTO user (username,[password]) values(a,b)";
OleDbCommand cmd1 = new OleDbCommand(query, con);
cmd1.Parameters.AddWithValue("a",textBox1.Text);
cmd1.Parameters.AddWithValue("b", textBox2.Text);
cmd1.ExecuteNonQuery();

con.Close();
MessageBox.Show("User Account Created");
this.Close();

1 个答案:

答案 0 :(得分:4)

SqlParameters应以@开头@Name。试试这个:

con.Open();
String query = "INSERT INTO user (Username, [Password]) values(@Username, @Password)";
OleDbCommand cmd = new OleDbCommand(query, con);

cmd.Parameters.AddWithValue("@Username",textBox1.Text);
cmd.Parameters.AddWithValue("@Password", textBox2.Text);

cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("User Account Created");
this.Close();

阅读Using Variables and Parameters