2012-09-28 66 views
2

我目前正在使用Ormlite版本4.42和Android。我想要做的是確定Ormlite是否有能力返回更新記錄的數量。如下所示:使用Ormlite確定更新語句中更新的記錄數

SQLiteDatabase db = dbHelper.getWritableDatabase(); 
count = db.update(COMPANY_TABLE_NAME, values, where, whereArgs); 

而不是直接使用SQLiteDatabase連接,我想在我的內容提供者中使用Ormlite。只是好奇這是否是一種選擇。

回答

3

只要您使用ORMLite版本4.39或更高版本,這應該工作。我現在做一個額外的SQL語句來獲取前一個更改的數目。來自更改日誌:

ANDROID:最後修復了使用SQLite CHANGES()編譯指示插入/刪除/更新調用更改的行數。

你可以使用UpdateBuilder代碼進行更改:

UpdateBuilder<Company, Integer> updateBuilder = companyDao.updateBuilder(); 
updateBuilder.updateColumnValue("name", newName); 
updateBuilder.where().gt("customerCount", 100); 
int rowsUpdated = updateBuilder.update(); 

也有online docs for UpdateBuilder

+0

@ Gray-是否可以檢索插入或更新的行的rowid? – dionysus

+1

不,@dionysus。您可以更新許多行,但SQL不提供更新的id。僅供參考:我已經將UpdateBuilder的相關信息添加到了我的答案中。 – Gray

+0

@ Gray-感謝您對此的所有幫助! – dionysus