2011-06-28 7 views
4

私はデータベース上で挿入を行い、その挿入のためのROWIDが何であるか知りたいと思います。SQLITE3とAndroidのrowid

これは、タスクを達成してい:

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

をAndroidのドキュメントがinsert戻っていることを「新たに作成された行のURLを。」と述べそしてUriメソッドgetFragment()は、/#の後ろのすべてを返すことになっています。だから、getFragment()が私にロウドを返すという私の理解は正しいのだろうか?

答えて

6

挿入後にURIを解析してIDを取得するには、ContentUris.parseId(uri)を使用する必要があります。

+0

これは最後に挿入された行のROWIDを提供しますか? – user817129

+0

はい、それです。 – mgv

+0

この関数は私のコードとどのように違うのですか? insert文は行のUriを返し、それからgetFragmentを呼び出してidを抽出します。ウリでは、 "/#"がすべて数字になった後に - ROWID、NO? – user817129