我有一个带有sqlite记录的表,我想将记录的值分配给变量,我试过这样:
latitudeB = database.execSQL("SELECT latitude FROM " + TABLE_NAME + "WHERE _id in (SELECT COUNT(_id)-1 FROM " + TABLE_NAME + ")");
但是execsql返回void。 sql代码似乎适用于sqlite
答案 0 :(得分:0)
您的问题execSQL()
指定用于非SELECT
完全可以参考。
执行一个非SELECT或任何其他SQL的SQL语句 返回数据的语句。
相反,您需要使用Cursor
。
String query = SELECT latitude FROM " + TABLE_NAME
+ " WHERE _id in (SELECT COUNT(_id)-1 FROM " + TABLE_NAME + ")";
Cursor c = db.rawQuery(query, null);
if (c.moveToFirst()) { // if cursor is not empty
// do your work
double latitude = c.getDouble(0); // getting latitude's value
}