我的更新查询无效。我正在使用Visual Studio 2015,并且正在尝试更新访问数据库

时间:2017-03-16 01:43:50

标签: c# .net ms-access

下面是我的更新查询代码,一切似乎都运行正常,但数据库没有更新。

public int ChangeProduct(string _ProductID, double _ProductPrice)
    {
        int a = 0;
        string queryString = "UPDATE product SET productPrice = @productPrice WHERE productID = @productId";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {

            OleDbCommand updateProduct = new OleDbCommand(queryString, connection);
            updateProduct.Parameters.AddWithValue("@productId", _ProductID);
            updateProduct.Parameters.AddWithValue("@productPrice", _ProductPrice);
            connection.Open();
            a = updateProduct.ExecuteNonQuery();
            connection.Close();
        }
        return a;
    }

1 个答案:

答案 0 :(得分:1)

显然Access并不关心参数化名称,而是关注它们出现的顺序。因此,通过将代码更改为下面的代码,它可以正常工作。

public int ChangeProduct(string _ProductID, double _ProductPrice)
    {
        int a = 0;
        string queryString = "UPDATE product SET productPrice = @productPrice WHERE productID = @productId";
        using (OleDbConnection connection = new OleDbConnection(connectionString))
        {

            OleDbCommand updateProduct = new OleDbCommand(queryString, connection);
            updateProduct.Parameters.AddWithValue("@productPrice", _ProductPrice);
            updateProduct.Parameters.AddWithValue("@productId", _ProductID);
            connection.Open();
            a = updateProduct.ExecuteNonQuery();
            connection.Close();
        } 
        return a;
    }