更新查询不起作用-需要帮助

本文关键字:帮助 查询 不起作用 更新 | 更新日期: 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块中,以便及时处理
  • 不要只是捕获异常并显示模糊的消息。要么包含异常细节,要么将其记录在某个地方,以便您知道实际的错误是什么。