private void btnSave_Click(object sender, EventArgs e)
{
if (!ValidInput())
return;
using (var conn = new OleDbConnection(DatabaseObjects.ConnectionString))
{
conn.Open();
command = new OleDbCommand("insert into Students (RollNo, SName, FName, DOB, Class, Section) values (@RollNo, @SName, @FName, @DOB, @Class, @Section)", conn);
command.Parameters.Add(new OleDbParameter("RollNo", txtRollNo.Text));
command.Parameters.Add(new OleDbParameter("SName", txtSName.Text));
command.Parameters.Add(new OleDbParameter("FName", txtFName.Text));
command.Parameters.Add(new OleDbParameter("DOB", dtpDOB.Text));
command.Parameters.Add(new OleDbParameter("Class", cmbClass.Text));
command.Parameters.Add(new OleDbParameter("Section", cmbSection.Text));
command.ExecuteNonQuery();
MessageBox.Show("Saved");
}
}
当我点击保存按钮时,这个错误正在上升(插入语法错误)。
我已经对代码进行了故障排除,我发现如果字段节和参数@section从insert语句中删除了。那么代码工作正常。但我想得到它的combobox(cmbsection)值,并将其存储在数据库中。我该怎么办?
1条答案
按热度按时间fxnxkyjh1#
“section”在ms access中是一个保留字,因此在这里使用它会使查询解析器感到困惑。
通过将数据库对象(列、表等) Package 在方括号中,可以显式地告诉查询哪些标识符引用了数据库对象: