"insert into" 命令中出现奇怪的错误?
Weird error in "insert into" command?
我知道这可能听起来很垃圾,但这是事实。
每次我尝试运行这段代码时,我都会遇到语法错误。
知道为什么吗?
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Rock.accdb";
con.Open();
String query = "insert into category ([name],desc) values (@1,@2)";
OleDbCommand cmd = new OleDbCommand(query, con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@1", textBox1.Text);
cmd.Parameters.AddWithValue("@2", textBox2.Text);
cmd.ExecuteNonQuery();
textBox1.Text = null;
textBox2.Text = null;
label4.Text = "New Category Created";
label4.ForeColor = Color.Green;
错误是:INSERT INTO 语句中的语法错误@cmd.ExecuteNonQuery();
desc 也是一个关键字(用于降序),因此您需要:
String query = "insert into category ([name],[desc]) values (@1,@2)";
像这样更改您的 insert
查询,
String query = "insert into category ([name], [desc]) values (@1,@2)";
desc 默认为保留字。另外,请在执行命令后con.Close();
关闭连接。
我知道这可能听起来很垃圾,但这是事实。
每次我尝试运行这段代码时,我都会遇到语法错误。
知道为什么吗?
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Rock.accdb";
con.Open();
String query = "insert into category ([name],desc) values (@1,@2)";
OleDbCommand cmd = new OleDbCommand(query, con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@1", textBox1.Text);
cmd.Parameters.AddWithValue("@2", textBox2.Text);
cmd.ExecuteNonQuery();
textBox1.Text = null;
textBox2.Text = null;
label4.Text = "New Category Created";
label4.ForeColor = Color.Green;
错误是:INSERT INTO 语句中的语法错误@cmd.ExecuteNonQuery();
desc 也是一个关键字(用于降序),因此您需要:
String query = "insert into category ([name],[desc]) values (@1,@2)";
像这样更改您的 insert
查询,
String query = "insert into category ([name], [desc]) values (@1,@2)";
desc 默认为保留字。另外,请在执行命令后con.Close();
关闭连接。