2012-03-26 3 views
1

두 테이블 "TABLE_EXAM"과 "TABLE_QUESTION"이 있습니다. 시험 문제가있는 테이블에 질문을 저장해야합니다. 내 질문은 시험 테이블의 마지막 ID를 젤을하는 방법입니다?
미리 감사드립니다. 수정 된 질문
여기 내 샘플 코드입니다. 만약sqlite에서 마지막 레코드의 _id를 가져 오는 방법은 무엇입니까?

db.insert(TABEL_NAME, null, values); 

하여 데이터를 삽입하는 경우

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

는이 함수의 리턴 값은 행의 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

실제로 제 경우에는 완벽하게 작동합니다 ... 나는 이것을 이렇게 여러 번 확인했습니다 ... 디버거와 로그를 사용합니다. –

관련 문제