c#mysql-当描述相同时,添加股票和新条目的值
对不起,伙计们,我的英语 在datagridview中插入与现有记录描述相同但数量不同的记录时。。它为我插入的最后一条记录创建了一个新行 我想要的是将我插入的数量添加到具有相同描述的旧记录中 结果应为数量=25。。以及煤层气总量。。总煤层气=数量*煤层气c#mysql-当描述相同时,添加股票和新条目的值,c#,mysql,datagridview,duplicates,add,C#,Mysql,Datagridview,Duplicates,Add,对不起,伙计们,我的英语 在datagridview中插入与现有记录描述相同但数量不同的记录时。。它为我插入的最后一条记录创建了一个新行 我想要的是将我插入的数量添加到具有相同描述的旧记录中 结果应为数量=25。。以及煤层气总量。。总煤层气=数量*煤层气 private void btnSave_Click(object sender, EventArgs e) { MySqlConnection connection = new MySqlConnectio
private void btnSave_Click(object sender, EventArgs e)
{
MySqlConnection connection = new MySqlConnection(MyConnectionString);
MySqlCommand cmd;
connection.Open();
try
{
cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO Inventory(Quantity,Unit,ItemCode,ItemName,Cbm,TotalCbm)VALUES(@Quantity,@Unit,@ItemCode,@ItemName,@Cbm,@TotalCbm)";
cmd.Parameters.AddWithValue("@Quantity", tbQuantity.Text.ToString());
cmd.Parameters.AddWithValue("@Unit", tbUnit.Text.ToString());
cmd.Parameters.AddWithValue("@ItemCode", tbItemCode.Text.ToString());
cmd.Parameters.AddWithValue("@ItemName", tbItemName.Text.ToString());
cmd.Parameters.AddWithValue("@Cbm", tbCbm.Text.ToString());
cmd.Parameters.AddWithValue("@TotalCbm", tbTotalCbm.Text.ToString());
cmd.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
frmUserAE form1 = new frmUserAE();
AccountForm.LoadGrid();
this.Hide();
}
}
}
您正在执行INSERT语句,这将创建一个新行
您应该根据您认为的主键(描述?)执行更新语句。oww。。对不起,我忘了。。当我插入一个没有相同项目描述的项目时,它将添加一个新行/记录。。但当您插入一个具有相同item desc的项时,它只会更新,就像IF ELSE语句一样。。但我不知道如何将其用于mysql数据库,以了解是否存在相同的项。您可以做的是始终插入新行,然后在填充网格的sql语句中,按描述分组并求和数量。