2012-03-26 119 views
1

我有两个表“TABLE_EXAM”和“TABLE_QUESTION”。我需要将考题编号存储在表格中。我的问题是,如何凝胶考试表的最后一个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 2012-03-26 13:28:50

+1

最后一条记录是指最后插入的记录? – 2012-03-26 13:31:36

+1

你可以将ID存储在公共var .. – Hasmukh 2012-03-26 13:33:04

回答

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 2012-04-03 04:19:56

+0

其实它在我的情况下工作完美...我检查了这一点,很多次的构造...使用调试器和日志 – 2012-04-03 07:57:14

相关问题