tutorial studio room espaƱol descargar consultas java android android-sqlite

java - studio - Obtener el valor de campo con un cursor



sqlite android studio 2018 (3)

Creo que puedes olvidarte de verificar el nulo.

En su lugar, compruebe si hay datos y luego acceda a las columnas con el cursor:

Cursor cursor = fetchOption(0); if (cursor.moveToFirst()) // data? System.out.println(cursor.getString(cursor.getColumnIndex("title")); cursor.close(); // that''s important too, otherwise you''re gonna leak cursors

También podría tener sentido leer un tutorial de Android. El tutorial del bloc de notas parece encajar en la cuenta: http://developer.android.com/guide/tutorials/notepad/index.html

Estoy creando una aplicación y tengo problemas con el Cursor . Tengo una base de datos SQLiteDatabase que me devuelve un Cursor cuando intento obtener los valores con esta función:

public Cursor fetchOption(long rowId) throws SQLException { Cursor mCursor = mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE, KEY_BODY}, KEY_ROWID + "=" + rowId, null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; }

No sé cómo obtener el valor del campo en el Cursor . Si lo hago así:

String a = mOptionDb.fetchOption(0).getColumnName(0).toString(); String b = mOptionDb.fetchOption(0).getColumnName(1).toString(); String c = mOptionDb.fetchOption(0).getColumnName(2).toString();

Solo _id, title, body el nombre de las columnas ( _id, title, body ) pero no los valores. ¿Alguna sugerencia sobre cómo lograr esto?


Puede usar los métodos get* del Cursor para recuperar valores del resultado:

long id = cursor.getLong(cursor.getColumnIndex("_id")); long title = cursor.getString(cursor.getColumnIndex("title")); ...

Obviamente, una práctica mejor es usar constantes (a menudo proporcionadas por ContentProviders) en lugar de llamadas a getColumnIndex con cadenas codificadas.


Puedes usar este mecanismo.

Cursor record=db.test(finalDate); if(record.getCount()!=0){ if(record.moveToFirst()){ do{ Imgid1=record.getString(record.getColumnIndex(Database.PHOTO)); }while(record.moveToNext()); } record.close(); }