光标每次为-1
在我拥有
之前 db.getWritableDatabase
TABLE_NAME_NOTES
在每三个位置都有注释
public String addNote(){
String id = "";
ContentValues values = new ContentValues();
values.put("Date","date");
db.insert(TABLE_NAME_NOTES, null, values);
Cursor cursor = db.rawQuery("select last_insert_rowid() as fullname from " + TABLE_NAME_NOTES, null);
if (cursor.moveToFirst()){
do {
id = cursor.getString(0);
} while(cursor.moveToNext());
}
cursor.close();
cursor = db.rawQuery("SELECT _id FROM " + TABLE_NAME_NOTES, null);
if(cursor.moveToLast()){
long long_id = cursor.getInt(0);/
id = Long.toString(long_id);
}
cursor.close();
return id;
}
我如何获得最后一个ID?
答案 0 :(得分:0)
首先从设备/仿真器中卸载应用,然后重新运行。
这对于删除和重新创建数据库是必需的,因此您定义的任何新列都将存在于表中。
每次在代码中定义新列时,表中不会自动创建该列。
方法insert()
返回插入行的rowid
;如果插入不成功,则返回-1。
long lastInsertedId = db.insert(TABLE_NAME_NOTES, null, values);