注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沉默蜂B4A安卓编程

国内资料最全的B4A资料库

 
 
 

日志

 
 

批量操作数据库  

2016-09-16 23:11:18|  分类: B.数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
沉XXX  23:00:56
Sub DeleteRecord(idx)

DBBook.BeginTransaction
DBBook.ExecNonQuery2("DELETE FROM t_guali WHERE (ID = ?)", Array As Object(idx))
If idx = mBookMark Then
mBookMark = 1
End If

DBBook.TransactionSuccessful
DBBook.EndTransaction
Return True

End Sub

请教大伙一个问题,这是一个删除指定记录的函数,DBBook是一个SQL对象变量,代码正在操作一个SQLITE数据库

我的疑惑是,下面3行代码不加进去,与加进去,有什么区别?加上去之后,对程序的运行有什么有益的作用?

DBBook.BeginTransaction
DBBook.TransactionSuccessful
DBBook.EndTransaction

广州老XXXX 23:08:19
对批量操作一起提交,可提高速度

蓝XXX 00:07:34
事务处理的概念要了解一下,数据库基本概念,对批量操作一起提交,可提高速度,这个说法不对.分步提交理论上更快,因为对数据表的锁定时间更少

土豆XXX 09:32:17
启用事务主要是为了保证数据一致性,将逻辑相关的一组操作绑定在一起。
比如转账操作A转到B,那么A账户减少和B账户增加应该是要一起完成才有效
防止A账户减少了,但是后来对B账户增加时发生了错误,那么这个操作就是失败的
启用事务的情况下,如果其中任何一个操作失败,可以进行事务回滚,这两个操作就不会影响数据库物理记录

就爱XXX 10:43:05
@沉XXX 
你这个应该还要做回滾和错误处理事件吧,不然你自己不知道事务是不是成功
提供了事务处理的都会一起提供回滾处理和错误处理过程

广州老xxx  11:11:39

单用户文件型数据库引擎事务意义不大。
  评论这张
 
阅读(54)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017