2012-03-26 5 views
1

私は2つのテーブル "TABLE_EXAM"と "TABLE_QUESTION"を持っています。私は試験IDでテーブルに質問を保存する必要があります。私の質問は、どのように試験テーブルの最後のIDをゲル化することですか?
ありがとうございます。 編集済みの質問
ここは私のサンプルコードです。sqliteから最後のレコードの_idを取得する方法は?

public int getLastExamId() 
{ 
    int id2=0; 
    try 
    { 
     SQLiteDatabase db=this.getWritableDatabase(); 
     Cursor cursor=db.rawQuery("SELECT * from SQLITE_SEQUENCE", null); 
     if(cursor.moveToLast()) 
     { 
      id2=cursor.getInt(0); 
     } 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 
    return id2; 
} 
+2

'SELECT MAX(_ID)from TABLE_EXAM'。 – st0le

+1

最後のレコードは最後に挿入されたレコードを意味しますか? –

+1

IDをパブリック変数に格納することができます。 – Hasmukh

答えて

4

もし

db.insert(TABEL_NAME, null, values); 

を使用してデータを挿入する場合、この関数からの戻り値は、行のIDです。

+0

http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert%28java.lang.Stringによると、 %20java.lang.String、%20android.content.ContentValues%29これは正しいと思われますが、新しいレコードを挿入すると常に1になっているので、操作の影響を受ける行数が返されていると思います。 – vikas

+0

実際には私の場合は完璧に動作します...私はこのように、何度もコンフォメーションをチェックしました...デバッガとログを使用しています –

関連する問題