Consulta de selección en sqlite android
String temp_address="nothing"; try { String selectQuery = "SELECT lastchapter FROM Bookdetails INTO"+temp_address+"WHERE bookpath=?"; db.execSQL(selectQuery, new String[] { fileName }); System.out.println(temp_address+" result of select Query"); } catch(Exception e) { System.out.println(e+" is the error here"); } finally { db.close(); }
Logcat
android.database.sqlite.SQLiteException: near "bookpath": syntax error: , while compiling: SELECT lastchapter FROM Bookdetails INTOnothingWHERE bookpath=?
Solo quiero tomar el resultado de la consulta anterior para que la cadena almacenada en lastchapter esté disponible en temp_address please help
- Cómo encontrar y borrar el archivo db de SQLite en Android (emulador)
- Cómo incrementar el campo en la base de datos sqlite android
- android sqlite consulta con múltiples donde
- Android: Cómo sumar todas las columnas de una base de datos SQLite y devolver 1 variable única
- Uso de SQLite de actividad y servicio
Soy nuevo en la base de datos Android sqlite por favor ayuda
- Android: SQLite - insertWithOnConflict
- ActiveAndroid Excepción SQLite 'No such table'
- SQL eliminar de una tabla + un jointable?
- ¿Cómo utilizar correctamente TextSwitcher en ListView?
- Búsqueda de Android con Fragmentos
- ¿Soporta Android JDBC?
- Eliminar filas sqllite de android de más de x días
- Android SQLite Excepción: no se puede cerrar debido a declaraciones sin finalizar
Hay problemas de sintaxis de SQL y necesitará usar un Cursor
para recuperar los resultados de la consulta, por ejemplo con rawQuery()
:
String selectQuery = "SELECT lastchapter FROM Bookdetails WHERE bookpath=?"; Cursor c = db.rawQuery(selectQuery, new String[] { fileName }); if (c.moveToFirst()) { temp_address = c.getString(c.getColumnIndex("lastchapter")); } c.close();
El logcat lo dijo todo, has olvidado los espacios. Para obtener datos en la cadena:
String temp_address="nothing"; String[] args = new String[] { fileName }; Cursor cursor = sqLiteDatabase.rawQuery("SELECT lastchapter FROM Bookdetails WHERE bookpath=?", args); if (cursor.moveToFirst()){ temp_address = cursor.getString(cursor.getColumnIndex("lastchapter")); } cursor.close();
Corrija su consulta a continuación: agregue espacio en WHERE
Cause
String selectQuery = "SELECT lastchapter FROM Bookdetails WHERE bookpath=? ";
Actualizar: ir con rawQuery()
becoz es volver Cursor
con resultados
String selectQuery = "SELECT lastchapter FROM Bookdetails WHERE bookpath=? "; Cursor c = db.rawQuery(selectQuery, new String[] { fileName }); if (c.moveToFirst()) { temp_address = c.getString(0); } c.close();
Y para más información vaya a esto: http://www.higherpass.com/android/tutorials/accessing-data-with-android-cursors/