尝试在 MS Access 中编辑文本字段,但它说需要更多参数

Trying to edit a text field in MS Access, but it says it needs more parameters

我正在尝试编辑 MS Access 数据库中的文本字段。我能够成功地编辑一个数字,但如果我尝试编辑一个文本字段,它会要求我提供更多参数。我的代码如下所示:

try
{
    ad.UpdateCommand = new OleDbCommand("Update Tabel1 set Navn=" + txt_navn.Text.ToString() + " where ID=" + txt_userID.Text + "", conn);
    ad.UpdateCommand = new OleDbCommand("Update Tabel1 set Niveau=" + txt_niveau.Text.ToString() + " where ID=" + txt_userID.Text + "", conn);
    conn.Open();
    ad.UpdateCommand.ExecuteNonQuery();
    conn.Close();
}
catch(Exception ex)
{
    MessageBox.Show(ex.Message);
    conn.Close();
}

基本上,如果我禁用 Niveau 行,Navn 文本字段将不接受任何更改并要求更多参数。我也试过将两者都放在同一 ad.UpdateCommand 行中,但这给了我一个错误。

就像现在一样,它不会给出任何错误,但它不会更改数据库中的 'Navn' 字段,'Niveau' 字段更改得很好。你们有什么想法吗?

希望这能奏效

ad.UpdateCommand = new OleDbCommand("Update Tabel1 set Navn='" + txt_navn.Text.ToString() + "' where ID=" + txt_userID.Text + ";", conn);
ad.UpdateCommand = new OleDbCommand("Update Tabel1 set Niveau='" + txt_niveau.Text.ToString() + "' where ID=" + txt_userID.Text + ";", conn);

我更新了 Navn='" + txt_navn.Text.ToString() + "' 而不是 Navn=" + txt_navn.Text.ToString() + "

下一个命令也是如此

但问题是它只会更新 Niveau 而不会更新 Navn 因为你在 ad.UpdateCommand 中有最后一个命令存储所以你可以像这样即兴创作你的代码

ad.UpdateCommand = new OleDbCommand("Update Tabel1 set Navn='" + txt_navn.Text.ToString() + "', Niveau='" + txt_niveau.Text.ToString() + "' where ID=" + txt_userID.Text + ";", conn);

Navn可能是预留的,尽量框起来。此外,没有理由将文本框的文本内容转换为字符串。而且,如前所述,一次调用即可完成:

ad.UpdateCommand = new OleDbCommand("Update Tabel1 Set [Navn] = '" + txt_navn.Text + "', Niveau = " + txt_niveau.Text + " Where ID = " + txt_userID.Text + "", conn);