更新我的数据库中的数据值

时间:2013-10-19 07:36:50

标签: c# ms-access-2010 oledbcommand

我有一个填充了数据的组合框:

Beef
Calamansi
Chicken
Egg
Fish
Fish_Sauce
Oil
Pork
Rice
Soy_Sauce
Vegetables
Vinegar

然后如果在我的comboBox中选择Beef然后按一个按钮它将搜索我的数据库Stocks_Name for Beef然后在我的textbox1中我将输入一个整数然后将其添加到相当于Beef数据的Total_Stocks。 enter image description here

我应该使用什么命令文本,因为我无法在互联网上找到我的问题的特定命令文本。我只知道如何插入和选择。提前谢谢你:D

更新:

它没有添加但是它将我的数据100改为1应该是101.这是我的工作:`

connection.Open();

OleDbCommand cmd = new OleDbCommand(@"UPDATE Add_Stocks SET Total_Stocks=@QWE WHERE Stocks_Name=@STOCKS" , connection);
cmd.Parameters.AddWithValue("@QWE", textBox1.Text);
cmd.Parameters.AddWithValue("@STOCKS", comboBox1.Text);


cmd.ExecuteNonQuery();
{
    MessageBox.Show("ADDED!");
    connection.Close();
}

2 个答案:

答案 0 :(得分:1)

您需要UPDATE - 声明

  

创建更新查询,更改a中字段的值   基于指定标准的指定表。

语法:

UPDATE Your_Table_Name
SET Total_Stocks = Total_Stocks + @IncrementValue, 
WHERE Stocks_Name = 'Beef';

您需要添加一个参数来填充@IncrementValue

yourOleDBCommand.Parameters.Add("@IncrementValue", OleDbType.Integer).Value = Convert.ToInt32(yourTextBox.Text);

来源:MSDN

答案 1 :(得分:1)

如果我理解你的问题他们是简单的查询,

UPDATE Your_Table_Name 
SET Total_Stocks = Total_Stocks + @Int_Value_from_Textbox
WHERE Stock_Name = 'Beef'

其中@Int_Value_from_Textbox是您在执行之前需要添加到命令的参数。