0

sqliteにレコードを含むテーブルがあり、レコードの値を変数に割り当てたいので、次の方法で試しました。

latitudeB = database.execSQL("SELECT latitude FROM " + TABLE_NAME + "WHERE _id in (SELECT COUNT(_id)-1 FROM " + TABLE_NAME + ")");

しかし、execsqlはvoidを返します。SQLコードはsqliteで機能するようです

4

1 に答える 1

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
}
于 2013-03-24T08:36:00.253 に答える