更新查询总是将数据库更新为零

时间:2019-05-14 10:28:30

标签: c# mysql sql transactions

如果due_amountmode_of_payment,我正在尝试更新客户表的credit字段。当我直接将查询粘贴到数据库中时,查询工作正常。但是,当通过事务处理时,该值将更新为零。

我都尝试过,编写普通查询并传递给事务,并生成通用函数来创建查询。直接粘贴到数据库中时,以两种方式生成的查询都可以正常工作。但是当尝试通过将代码值更新为零来运行它时

这是创建并传递给transactionList的查询。

 TransactionQueryList.Add("UPDATE `customer_info` SET `due_amount` =  
`due_amount`+'"+ Math.Round(NewBalance,2)+"'WHERE `customer_id` = '"+ CustomerID+"'");

这是上面产生的查询

UPDATE `customer_info` SET `due_amount` = `due_amount`+'241.2' WHERE 
`customer_id` = 'UAUYMMKTQC'

此查询在粘贴到数据库时有效。但当我通过交易时不起作用

这是我的交易代码:

try
        {

            for (int i = 0; i < Queries.Count; i++)
            {
                Command.CommandText = Queries[i];

                //MessageBox.Show(Queries[i]);
                Command.ExecuteNonQuery();
            }

            Transaction.Commit();
        }
        catch (Exception)
        {
            try
            {
                Transaction.Rollback();
                return 0;
            }
            catch (Exception)
            {
                return 0;
            }

        }
        finally
        {
            Instance.CloseConnection();
        }

预期结果

如果mode_of_payment是贷方,则due_amount应该加到当前金额上,并将其存储到数据库中。

实际结果

due_amount在此处更新为零。

0 个答案:

没有答案