MS Access更新查询不工作

本文关键字:工作 查询 更新 Access MS | 更新日期: 2023-09-27 18:15:03

我不知道查询出了什么问题,但它没有更新表中的任何值

string qry = "UPDATE Stock SET  Itemname=@n,Unit=@u,Price=@p,Tax=@t,Balance=@b,Status=@s Where Sid=@sid";
OleDbCommand ocmd = new OleDbCommand(qry,BBC);
ocmd.Parameters.AddWithValue("@n", name);
ocmd.Parameters.AddWithValue("@u", unit);
ocmd.Parameters.AddWithValue("@p", price);
ocmd.Parameters.AddWithValue("@t", tax);
ocmd.Parameters.AddWithValue("@b", balance);
ocmd.Parameters.AddWithValue("@s", status);
ocmd.Parameters.AddWithValue("@sid", sid);
ocmd.ExecuteNonQuery();

PriceTaxBalanceDecimal值。

我做了调试,它的工作很好,但只是没有更新值。

MS Access更新查询不工作

设置每个参数的类型并执行查询。

List<OleDbParameter> paramList = new List<OleDbParameter>();
OleDbParameter param = new OleDbParameter("@param", OleDbType.TypeName);
param.Value = value;
paramList.Add(param);
ocmd.Parameters.AddRange(paramArray);

我想这个可以帮你。

string ConnString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=''your_path_here'test.accdb";
using(OleDbConnection conn = new OleDbConnection(ConnString ))
using(OleDbCommand cmd = conn.CreateCommand())
{
   cmd.CommandText = @ "UPDATE Stock SET  Itemname=@n,Unit=@u,Price=@p,Tax=@t,Balance=@b,Status=@s Where Sid=@sid";
   cmd.Parameters.AddWithValue("@n", txtItemName.Text);
   cmd.Parameters.AddWithValue("@u", txtUnit.Text);
   cmd.Parameters.AddWithValue("@p", Convert.ToDecimal(txtPrice.Text));
   cmd.Parameters.AddWithValue("@t", Convert.ToDecimal(txtTax.Text));
   cmd.Parameters.AddWithValue("@b", Convert.ToDecimal(txtBalance.Text));
   cmd.Parameters.AddWithValue("@s", txtStatus.Text);
   cmd.Parameters.AddWithValue("@sid", txtSID.Text);
   conn.Open();
   int rowsAffected = cmd.ExecuteNonQuery();
   conn.Close();
}