-3
        OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SummerJob\DataBase.accdb");
        string cmdtxt = "UPDATE Students SET S_Name = ?, S_Surname = ?, S_E-Mail = ? WHERE ID = ?";
        OleDbCommand cmd = new OleDbCommand(cmdtxt, vcon);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("S_Name", EditName.Text);
        cmd.Parameters.AddWithValue("S_Surname", editSurname.Text);
        cmd.Parameters.AddWithValue("S_E-Mail", editMail.Text);
        vcon.Open();
        cmd.ExecuteNonQuery();
        vcon.Close();

//我使用此代码,但它在更新语句中显示语法错误

4

2 回答 2

1

最后一个参数在哪里???

ID=?

不确定,但我敢打赌,如果没有该参数,您的查询对于解析器来说看起来不正确。

于 2012-07-30T11:36:25.157 回答
0

需要通过身份证吗?通过 SqlParameter 像这样 cmd.Parameters.AddWithValue("ID", Id.Text);

还要确保参数的添加顺序与它们出现的顺序相同

于 2012-07-30T11:42:05.700 回答