SQLiteException: Token no reconocido al leer de la base de datos

He creado una base de datos SQLite dentro de la aplicación, lo pobló y ahora estoy tratando de leer de ella. La aplicación sigue cayendo y este es el logcat que recibo:

12-30 05:53:18.008: E/AndroidRuntime(6205): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testparsing/com.example.testparsing.Urnik}: android.database.sqlite.SQLiteException: unrecognized token: "4c" (code 1): , while compiling: SELECT predmet FROM predmeti WHERE dan=PONEDELJEK and ura=2 and oddelek=4c 

Función de lectura de la base de datos:

 Cursor getSubject(String dan, int ura, String oddelek){ String[] columnNames = new String[1]; columnNames[0] = SQLiteHelper.PREDMET; String selection = SQLiteHelper.DAN+"="+dan+" and "+SQLiteHelper.URA+"="+ura+" and "+SQLiteHelper.ODDELEK+"="+oddelek; open(); return db.query( SQLiteHelper.IME_TABELE, columnNames, selection, null, null, null, null); } 

Cómo estoy tratando de leer:

 TextView tw1p = (TextView) findViewById(R.id.tview1p); DatabaseHandler db = new DatabaseHandler(getApplicationContext()); Cursor c = db.getSubject("PONEDELJEK", 2, "4c"); String predmet = c.getString(c.getColumnIndex(SQLiteHelper.PREDMET)); tw1p.setText(predmet); 

Una captura de pantalla de la tabla, sólo para demostrar que oddelek "4c" de hecho existe: introduzca la descripción de la imagen aquí

 SELECT predmet FROM predmeti WHERE dan=PONEDELJEK and ura=2 and oddelek=4c 

Necesita citar sus literales de cadenas, por ejemplo:

 SELECT predmet FROM predmeti WHERE dan='PONEDELJEK' and ura=2 and oddelek='4c' 

Pero es mejor usarlo ? marcador de posición para literales:

 SELECT predmet FROM predmeti WHERE dan=? and ura=? and oddelek=? 

y cambia tu selectionArgs null a

 new String[] { dan, Integer.toString(ura), oddelek } 
 String selection = SQLiteHelper.DAN+"="+dan+" and "+SQLiteHelper.URA+"="+ura+" and "+SQLiteHelper.ODDELEK+"='"+oddelek+"'"; 

Reemplazar con esto y comprobar

cuestión se debe a las cotizaciones que faltan sólo: –

Ejemplo
db.delete (TABLE_NA, E, ADDRESS + "= '" + dirección + "'", null);

Por favor marque abajo el campo + "= '" + dirección + "'"

{El problema como dirección es una cadena, por lo que debe estar bajo 'dirección'}

  • Android ExpandableListView y base de datos SQLite
  • Cómo abrir / cerrar SQLite db en Android correctamente
  • Cómo utilizar Berkeley DB SQL API en Android
  • Utilizar la instrucción LIMIT en una consulta SQLite
  • Consulta de SQLiteDatabase de Android con Regex
  • SQLite de Android: Actualización
  • Ejemplos de proyectos sobre la copia de seguridad del archivo y las fotos de Sqlite en Google Drive mediante programación en Android
  • SQLite de Android - Cursor y ContentValues
  • Eliminar fila de SQLite con cláusula where con cláusulas múltiples
  • ¿Cómo almacena una colección de cadenas en SQLite en Android?
  • Android SQLite Facilidad de reversión de transacciones?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.