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

本文关键字:参数 字段 MS Access 文本 编辑 | 更新日期: 2023-09-27 18:15:07

我试图在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'字段的变化只是很好。你们知道吗?

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

Navn可能是保留的,所以尝试将其框起来。此外,没有理由将文本框的文本内容强制转换为字符串。而且,如前所述,一个调用就可以完成:

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

希望这能奏效

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);