我想使用MySQL事务回滚更改,如果任何方法失败。我在StackOverflow中提到了这个例子:MySql and inserting last ID problem remains,但是我的问题有点不同。处理MySQL transcations的两种方法
我有如下代码:
private void btnSave_Click(object sender, EventArgs e)
{
btnSave.Enabled = false;
int result1 = SaveBillDetails();
int result2 = SaveBillItems();
if ((result1 == 1) && (result2 == 1))
{
//Update old stock
UpdateStock.ReduceStock(Convert.ToInt32(txtBillNo.Text), Convert.ToDateTime(dtpBillDate.Text));
MessageBox.Show("Saved", "StockApp", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
btnSave.Enabled = true;
}
我想打电话给类似的BeginTransaction之前SaveBillDetails和SaveBillItems被调用。这两种方法都不使用事务。我只想添加交易到上面的代码。
有什么问题? wana代码风格的问题? – Reniuz
问题是两种方法都使用独立的数据访问类。合并所有三种方法,即。 SaveBillDetails,SaveBillItems和ReduceStock是一项耗时的任务。如果我将BeginTransaction添加到上面的代码中,我假设我不启动事务,除非我使用类似我的问题中发布的链接中显示的代码。 – RKh