lundi 7 décembre 2015

SQLite rawquery return cursor empty object

    defHelper = new DefinitionSQLiteHelper(context, "Definitions", null, 1);

        db = defHelper.getReadableDatabase();


        if (db != null) //Empezamos a leer de la BD
        {
            args = new String[]{s+"%"};
            String[]campos=new String[]{"name","meaning"};
            String str = "SELECT * FROM Definitions";

            //SELECT name,meaning FROM Definitions WHERE name LIKE 'p%' ORDER BY name
            //Hago la búsqueda y lo guardo en un objeto Cursor
            c = db.rawQuery(str,null);

            //c.moveToNext();
            //Nos aseguramos de que exista al menos un registro en cursor
            if (c.moveToFirst()) {
                //Recorremos el cursor hasta que no haya más registros
                //Guardar en array de letra
                do {
                    //Aquí es donde guardo lo obtenido de la consulta en un array
                    def.setPalabra(c.getString(c.getColumnIndex("name")));
                    def.setSignificado(c.getString(c.getColumnIndex("name")));
                    letraPrimera.add(def);
                } while (c.moveToNext());
            }

Here´s my code. Cursor object is empty, why? Any suggestions? I think that rawquery doesn't work good... But the RuntimeException is in this line:

    def.setPalabra(c.getString(c.getColumnIndex("name")));

My table has only two columns, the first in name and second is meaning. Two columns are Strings.

Aucun commentaire:

Enregistrer un commentaire