我正在使用以下查询来更新Access表中的记录,但是出现语法错误?
我怎样才能做到这一点?
string str = string.Format("UPDATE [MIX] SET[Stock quantity],[Retail price],[Original price])Values(?,?,?,?) WHERE [Brand name]=@brandname");
OleDbCommand comd = new OleDbCommand(str, conn);
comd.Parameters.AddWithValue("@brandname", comboBox3.Text);
comd.Parameters.AddWithValue("Stock quantity", comboBox1.Text);
comd.Parameters.AddWithValue("Retail price", comboBox4.Text);
comd.Parameters.AddWithValue("Original price", comboBox5.Text);
comd.ExecuteNonQuery();
您需要的是这样的东西:
string str =
"UPDATE [MIX] SET " +
"[Stock quantity] = ?, " +
"[Retail price] = ?, " +
"[Original price] = ? " +
"WHERE [Brand name] = ?";
OleDbCommand comd = new OleDbCommand(str, conn);
comd.Parameters.AddWithValue("?", comboBox1.Text); // [Stock quantity]
comd.Parameters.AddWithValue("?", comboBox4.Text); // [Retail price]
comd.Parameters.AddWithValue("?", comboBox5.Text); // [Original price]
comd.Parameters.AddWithValue("?", comboBox3.Text); // [Brand name]
comd.ExecuteNonQuery();
请注意,参数的定义与在CommandText中出现的顺序完全相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句