事务的存在意义:
原因:
比如说,从A银行取出500元,会执行两个步骤:①柜台取出500元钞票②柜台从账户划掉500元余额
若在①步骤结束后,因为各种突发原因(例如断电…)导致②步骤没有成功实现,而①已完成。会导致数据库数据不匹配的情况发生。为处理这种情况,引入事务的概念。
方法:
规定①②步骤全部完成才会进行后续操作。否则其中任一一个步骤出错,则会回滚到开始处理之前。
对于SQL中的事务操作,可以直接调用DBHelp的方法;
直接上代码:
try
{
sql.dbh.TransactionBegin();//事务开始
List<Variable> list = (List<Variable>)variableBindingSource.DataSource;
foreach (Variable item in list)
{
item.Customer = txt_kehu.Text;
item.SNModel = txt_moban.Text;
item.Creationer = Variable._user;
item.CreationTime = DateTime.Now;
item.State = true;
sql.dbh.Insert(item);
}
}
catch (Exception)
{
sql.dbh.TransactionRollBack();//失败,事务回滚
return;
}
sql.dbh.TransactionCommit();//成功,事务提交
格式为(习惯性添加try-catch):
try
{
sql.dbh.TransactionBegin();//事务开始
}
catch(Exception)
{
sql.dbh.TransactionRollBack();//失败,事务回滚
return;
}
sql.dbh.TransactionCommit();//成功,事务提交
本文阐述了数据库事务的概念及其在确保数据一致性和完整性方面的重要性。通过具体的例子解释了事务如何防止因异常情况导致的数据不一致,并提供了SQL中事务操作的基本代码示例。
1356

被折叠的 条评论
为什么被折叠?



