我已经开始使用示例应用程序将数据插入到SqliteDb中,并尝试从数据库中获取第一行第一列值(第一个单元格值)。 我已经实现了将数据存储到数据库中的代码,如下所示:
private SQLiteDatabase sqLiteDatabase;
//create table MY_DATABASE (ID integer primary key, Content text not null);
private static final String SCRIPT_CREATE_DATABASE =
"create table " + MYDATABASE_TABLE + " ("
+ KEY_ID + " integer primary key autoincrement, "
+ KEY_CONTENT1 + " text not null, "
+ KEY_CONTENT2 + " text not null);";
插入数据
public long insert(String content1, String content2){
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_CONTENT1, content1);
contentValues.put(KEY_CONTENT2, content2);
return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
}
从上面的代码我能够在db中保存数据,但是如何从同一个DB中获取最后一次插入的KEY_CONTENT1值?
请任何人帮助我
答案 0 :(得分:1)
insert()
的返回值是您刚刚创建的行ID。用它来查询KEY_CONTENT1
。这将是保存方式(比临时变量更安全,以存储KEY_CONTENT1
)
答案 1 :(得分:-1)
您需要运行查询以获取最后插入的行ID,然后使用该ID检索行以获取所需的列:
SELECT last_insert_rowid();
或尝试这样做:
SELECT KEY_CONTENT1 FROM Your_Table_Name WHERE KEY_ID IN (SELECT last_insert_rowid());