对于 Access 数据库,单词 IMAGE 是保留关键字。
如果你想使用它,你需要用方括号封装
"INSERT INTO Cars(Make,Model,Price,[Image]) VALUES ......"
这将立即解决您的问题,但正如 John Skeet 在其评论中指出的那样,您需要使用参数化查询,因为这也解决了正确格式化文本值的问题。
如果模型名称(或品牌)包含单引号,那么您精心制作的查询会发生什么情况?
另一个语法错误正等着你(根据我的经验,当你完成编码并准备好工作时,它会咬你)
只是为了完成答案,请随意测试是否以这种方式将记录添加到您的数据库中
mysql = "INSERT INTO Cars(Make,Model,Price,[Image]) VALUES (?,?,?,?)";
OleDbCommand cmd = new OleDbCommand(mysql, con);
cmd.Parameters.AddWithValue("@p1", tbMake.Text);
cmd.Parameters.AddWithValue("@p2", tbModel.Text);
cmd.Parameters.AddWithValue("@p3", Convert.ToDecimal(tbPrice.Text));
cmd.Parameters.AddWithValue("@p4", FileUpload1.FileName);
cmd.ExecuteNonQuery();