我无法弄清楚我的代码出了什么问题。我试图通过C#在Access Db中添加一条记录,但遇到了一个异常,说我的SQL语句中有一个错误的语法。INSERT INTO语句中使用C#和ms-access的语法错误
private void buttonSUB_Click(object sender, EventArgs e)
{
string Adrs = textADRS.Text;
string Fname = textFN.Text;
string Mname = textMN.Text;
string Lname = textLN.Text;
string Pos = textPOS.Text;
try
{
OleDbConnection con = new OleDbConnection();
con.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\genesis\\Documents\\Database1.accdb";
OleDbCommand cmd = new OleDbCommand("Insert into Employees (FN,MN,LN,Address,Position) Values (@FirstName,@MidName,@LastName,@Address,@Position)",con);
cmd.Parameters.Add(new OleDbParameter("@FirstName", Fname));
cmd.Parameters.Add(new OleDbParameter("@MidName", Mname));
cmd.Parameters.Add(new OleDbParameter("@LastName", Lname));
cmd.Parameters.Add(new OleDbParameter("@Address", Adrs));
cmd.Parameters.Add(new OleDbParameter("@Position", Pos));
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Record Submitted", "Nice!");
con.Close();
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
通常,语法例外声明它认为不正确的字符位置或确切的语法片段。这通常是发现问题的一个重要线索。你能粘贴完整的异常消息吗? –
也许'位置'是一个保留字。然后:'[位置]'。 – Gustav