string menu = "";
if (RadioButton3.Checked)
menu = menu + " " + RadioButton3.Text;
if (RadioButton4.Checked)
menu = menu + " " + RadioButton4.Text;
if (RadioButton5.Checked)
menu = menu + " " + RadioButton5.Text;
if (RadioButton6.Checked)
menu = menu + " " + RadioButton6.Text;
TextBox4.Text = menu;
OleDbCommand cmd = new OleDbCommand("insert into bill(name,contact,address,order) values(@a1,@a2,@a3,@a4)", con);
if (RadioButton1.Checked)
cmd.Parameters.AddWithValue("a1", RadioButton1.Text+TextBox1.Text);
else if (RadioButton2.Checked)
cmd.Parameters.AddWithValue("a1", RadioButton2.Text+TextBox1.Text);
else cmd.Parameters.AddWithValue("a1", TextBox1.Text);
cmd.Parameters.AddWithValue("a2", TextBox2.Text);
cmd.Parameters.AddWithValue("a3", TextBox3.Text);
cmd.Parameters.AddWithValue("a4", TextBox4.Text );
con.Open();
cmd.ExecuteNonQuery();
con.Close();
这是我的代码,第四个参数值没有添加到我的数据库中。另请注意,db列(顺序)中没有限制
答案 0 :(得分:0)
您的查询应该抛出异常。由 ORDER 一词引起的Syntax Error
例外。这是Access的保留关键字(可能对于地球上的每个其他数据库)。
如果您没有看到异常,那么有一个try catch处理程序,它不会显示此代码周围的错误消息。
在任何情况下,您都可以使用方括号将问题单词括起来解决问题
OleDbCommand cmd = new OleDbCommand(@"insert into bill
(name,contact,address,[order])
values(@a1,@a2,@a3,@a4)", con);
并记住删除空的try catch或至少添加一条有意义的消息。