草庐IT

beginTransaction

全部标签

php - 你把 beginTransaction();在 `try` block 之前或之内

我应该怎么做$dbh->beginTransaction();try{或者try{$dbh->beginTransaction(); 最佳答案 没关系,它会运行代码而不管它的位置。但是你想把rollback()放在catch中,如果你把begin放在外面,那么根据这个设置它是不可读的。我会在try中投票。 关于php-你把beginTransaction();在`try`block之前或之内,我们在StackOverflow上找到一个类似的问题: https:

php - 带有 try catch 的 PDO 事务语法

使用PDO事务和trycatch时首选的语法是什么?为什么?$dbh->beginTransaction();try{}catch(Exception$e){}或try{$dbh->beginTransaction();}catch(Exception$e){} 最佳答案 现有的答案似乎表明,由于$dbh->beginTransaction()可能会抛出一个PDOException,所以它应该在同一个try中实际事务代码块,但这意味着rollBack()代码本身是错误的,因为它可以在没有事务的情况下调用rollBack(),这也可以

java - Hibernate session.getTransaction().begin() 与 session.beginTransaction() 之间的区别

我找不到关于这个主题的太多信息。谁能解释一下Hibernatesession.getTransaction().begin()vssession.beginTransaction()vssession之间的区别.beginTransaction().begin() 最佳答案 调用session.getTransaction().begin()没有多大意义,因为session.getTransaction()将检索已经在进行中的事务,因为它假设交易正在进行中。您基本上是在说,开始这个应该已经在进行中的交易。session.beginT

Android SQLite 更新不工作

我正在尝试为任意数量的行更新一列。函数如下:publicvoidsetAwardsSyncComplete(String[]ids){StringinArray=StringUtils.separateCommas(ids);db.beginTransaction();try{ContentValuescontentValues=newContentValues();contentValues.put(COL_SYNCED,true);introwsAffected=db.update(TABLE,contentValues,COL_ID+"IN("+inArray+")",null)

Android - 数据库被锁定

我有一个可以将数据插入SQLite数据库的应用程序。有一个服务线程每六十秒运行一次,检查条件是否为真,并在必要时发出警报。想想“日历”应用程序。我有很多Activity都引用了他们自己的SQLiteOpenHelper和他们自己的SQLiteDatabase对象。该应用程序运行良好,但我决定的一个主要更新应用程序需要一个进度对话框主题-这是另一个主题,但如果您能告诉我如何让微调器旋转,那就太好了。但是它确实会显示。但要让它显示,我需要将它放在一个线程中。创建此线程后,我开始在日志中收到大量“数据库已锁定”消息。我认为这个问题可能与我在后台每60秒运行一次任务有关-尽管从视觉上看只需要几

java - 数据库中的事务在 android 中不起作用

我正在使用以下代码,但遇到了一些问题:mDb.beginTransaction();StringupdateQuery="Queryenteredhere";String[]valVars={Variablesinitializedhere};Cursorc=mDb.rawQuery(updateQuery,valVars);if(c!=null){mDb.setTransactionSuccessful();mDb.endTransaction();returntrue;}else{mDb.endTransaction();returnfalse;}当我使用debug而不是运行ret

安卓 SQLite : Should I use beginTransactionNonExclusive() instead of beginTransaction() for ALL transactions if my app is only for API >= 11?

在Android中进行交易时,从API11开始有beginTransaction()和beginTransactionNonExclusive()方法。对我而言,如果我的应用程序仅针对API11及更高版本的设备,我从文档中不是很清楚我是否应该对我拥有的所有事务使用beginTransactionNonExclusive()在我的申请中。有什么缺点吗?还提到,如果我理解正确的话,要使beginTransactionNonExclusive()正常工作,数据库必须启用预写日志记录。我试图寻找一些关于此的文章,但我无法从Google中找到任何关于此的内容,我找到了thisarticle看起来

Android sqlite begintransaction 执行时间过长

我想把json解析出来的数据批量插入到db中。我使用下面的方法插入批处理。问题是mDbWritable.beginTransaction();执行时间太长。通常像6秒!我不知道问题在哪里。一些想法是什么导致执行时间这么长?非常感谢。@OverridepublicContentProviderResult[]applyBatch(ArrayListoperations)throwsOperationApplicationException{longstart=System.currentTimeMillis();mDbWritable.beginTransaction();longtim

android - Youtube YouTubePlayerSupportFragment 无法正常工作(总是加载?)

我在使用YouTube时遇到问题(总是加载)。显然“但只是第一次”正常工作,我想说,第一个实例(第一次运行)正常工作并正确地水平和垂直加载,但是当更改fragment时->fragmentManager.beginTransaction()在我的MainActivity中(我在所有fragment上都有调用此方法到beginTransaction的函数),在我转到->beginTransactionYouTube->视频总是加载:例子:第一步第一次->MainActivity->beginTransactionYouTube->点击->加载正确第2步第二次->MainActivity-

php - PDO::beginTransaction() 是否导致表或行锁定直到 PDO::commit()?

我有一个PHP脚本,它使用准备好的语句在每个循环中执行大约1,000次插入和1,000次更新。只要需要完成工作,它就会一直循环,有时会持续数小时,并且会导致性能问题(包括死锁异常)。我正在尝试提高性能并正在研究批量插入和更新(尽管我仍在尝试弄清楚如何进行批量更新)。当PDO::beginTransaction()被调用时,它是否只是告诉PDO类不要将使用PDO::execute()执行的查询发送到数据库,还是发送查询然后锁定使用的表/行直到调用PDO::commit()?我问的原因是PHP脚本每次循环最多需要50秒,它会在该时间跨度内进行插入和更新查询,所以我想弄清楚是否可以简单地添加