如何在android应用程序中从sqlitedb中检索第一行第一列(第一个单元格)的值



我处理过将数据插入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);
} 

从上面的代码中,我可以将数据保存在数据库中,但我如何从同一个数据库中获得最后插入的KEY_CONTENT1值?

请任何人帮助我

insert()的返回值是您刚刚创建的行id。使用它查询KEY_CONTENT1。这将是一种保存方式(比存储KEY_CONTENT1值的临时变量安全得多)

您需要运行查询来获取最后插入的行id,然后使用该id检索行以获得所需的列:

SELECT last_insert_rowid();

或者尝试这样做:

SELECT KEY_CONTENT1 FROM Your_Table_Name WHERE KEY_ID IN (SELECT last_insert_rowid());

最新更新