2012-02-02 24 views
1

我想翻译一些在Java中目标C的代码...数据库事务在Java中Android上

[_db beginTransaction]; 

    Date now = [[NSDate alloc] init]; 
    boolean result = [_db executeUpdate:updateQuery, [self stringToDB:account.userId], 
        [self integerToDB:account.accountId], 
        [self integerToDB:account.accountType], 
        [self stringToDB:account.accountName], 
       ]; 

    [_db commit]; 
    return true; 

谁能告诉我怎样才能在Java中实现BeginTransaction and Commit

回答

1

由于您对此“Android”进行了标记,因此Android SDK具有一个通常由助手类包装的SQLiteDatabase类(如果您遵循guide/tuts/etc。)。

SQLiteDatabase有beginTransaction()endTransaction()可以让你运行...... erm,数据库事务。 endTransaction()有点像一个提交但有注意事项。有关更多信息,请参阅documentation

+0

这就是我要找的:)阅读文档 – 2012-02-02 05:55:26

0

我在我的框架中解决了这个问题,创建了一个可重用的TxHandle,支持db风格的begin,commit和rollback功能。有时候我想用事务安全来做海量数据处理,所以我创建了一个事务句柄并将它传递给DAO以处理一堆行,因此它隐藏了这一点 - 对我来说有点令人困惑 - API。

但是说实话,默认情况下默认情况下是单行提交; ORM Universe中的多行更新是例外情况,因此您可能需要查看Dao-Implementation Tutorial以避免摆弄行。

随意逐字添加任何代码片段。