2012-02-02 55 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以避免擺弄行。

隨意逐字添加任何代碼片段。