尝试在 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);
我正在尝试编辑 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);