sqliteにレコードを含むテーブルがあり、レコードの値を変数に割り当てたいので、次の方法で試しました。
latitudeB = database.execSQL("SELECT latitude FROM " + TABLE_NAME + "WHERE _id in (SELECT COUNT(_id)-1 FROM " + TABLE_NAME + ")");
しかし、execsqlはvoidを返します。SQLコードはsqliteで機能するようです
あなたの問題は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
}