c#mysql-当描述相同时,添加股票和新条目的值

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

对不起,伙计们,我的英语

在datagridview中插入与现有记录描述相同但数量不同的记录时。。它为我插入的最后一条记录创建了一个新行

我想要的是将我插入的数量添加到具有相同描述的旧记录中

结果应为数量=25。。以及煤层气总量。。总煤层气=数量*煤层气

    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语句中,按描述分组并求和数量。