2011-06-28 45 views
4

我在數據庫上執行插入,我想知道該插入的rowid是什麼。rowid在SQLITE3和Android

這是否完成了任務:

Uri uri = ContentResolver.insert(url,values); //Make insert 
int rowid= Integer.parseInt(uri.getFragment()); //Get rowid 

Android的文檔指出insert返回「新建行的網址。」 Uri方法getFragment()應該在/#之後返回所有內容。所以,我的理解是正確的,getFragment()會因此返回給我rowid?

回答

6

要在插入後解析URI並獲取您應該使用的ID,請使用ContentUris.parseId(uri)

+0

這爲我提供了最後插入行的rowid? – user817129

+0

是的,就是這樣。 – mgv

+0

這個函數與我的代碼有什麼不同? insert語句返回該行的Uri,並從中調用getFragment來提取出該id。在Uri中,「/#」後面都是數字 - rowid,不是? – user817129