如何从Android应用程序中的sqlite db检索第一行第一列(第一个单元格)值?

时间:2012-02-28 12:37:33

标签: android sqlite cell

我已经开始使用示例应用程序将数据插入到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值?

请任何人帮助我

2 个答案:

答案 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());