更新查询不起作用-需要帮助
本文关键字:帮助 查询 不起作用 更新 | 更新日期: 2023-09-27 18:17:23
private void Update_Click(object sender, EventArgs e)
{
string loca="Pakistan";
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:''Users''Usman''Desktop''db.accdb");
OleDbCommand com = new OleDbCommand("Update INVENTORY SET Location=? WHERE itemID='1' ", con);
com.Parameters.Add("@loca", OleDbType.VarChar).Value = loca;
con.Open();
try
{
com.ExecuteNonQuery();
}
catch(Exception f)
{
MessageBox.Show(f.Message);
//MessageBox.Show("Given Data is not Valid", "Cannot Add", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
con.Close();
gridview();
}
这里我已经改变了代码没有错误m得到的是
没有给出一个或多个必需参数的值
更新查询不工作,所以请帮助我。
在c#中,你需要添加一个实际的参数对象,并给它一个值:
string loca="Pakistan";
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:''Users''Usman''Desktop''db.accdb");
OleDbCommand com = new OleDbCommand("Update INVENTORY SET Location= ? WHERE itemID='1'", con);
com.Parameters.Add("@loca", OleDbType.VarWChar).Value = loca ?? (object)DBNull.Value;
其他一些建议/习惯:
- 将您的连接和命令包装在
using
块中,以便及时处理 - 不要只是捕获异常并显示模糊的消息。要么包含异常细节,要么将其记录在某个地方,以便您知道实际的错误是什么。