如果due_amount
为mode_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
在此处更新为零。