Android Seleccionar fila por Id en Sqlite?
Quiero obtener una fila específica por id en android sqlite y han escrito el siguiente código, pero no devuelve ningún registro. He escrito un método getAllRecords()
que devuelve todos los registros de la base de datos.
¿Puede alguien explicar el error que estoy haciendo?
- Android - Ruby on Rails - MySQL
- En GreenDao, genere una consulta de unión con OR en lugar de AND
- WhereArgs Eliminación de la base de datos SQLite
- SQLite selecciona todos los registros de hoy y día anterior
- Android sqlite: cómo recuperar datos específicos de la columna en particular?
public Bank getBankById(int bankId) { Cursor cursor=null; Bank bnk = null; cursor = this.db.rawQuery("select * from " + BanksTable.NAME + " where " + BanksTable.COL_ID + "=" + bankId , null); if (cursor != null) { if (cursor.moveToFirst()) { int id = cursor.getInt(cursor.getColumnIndex(BanksTable.COL_ID)); String name = cursor.getString(cursor.getColumnIndex(BanksTable.COL_NAME)); String url = cursor.getString(cursor.getColumnIndex(BanksTable.COL_IMAGE_URL)); byte[] image = cursor.getBlob(cursor.getColumnIndex(BanksTable.COL_IMAGE)); bnk=new Bank(); bnk.setId(id); bnk.setImageURL(url); bnk.setName(name); bnk.setImageByteArray(image); } cursor.close(); } return bnk; }
- Cómo obtener el valor de la columna Timestamp en android mediante cursor
- Android MediaStore obtiene distintas carpetas de archivos de música
- Androide. ActiveJDBC es posible?
- OnUpgrade () base de datos sqlite en Android
- Archivo no encontrado Excepción al intentar abrir base de datos de SQLite android
- IOS / Android sincronización con Delphi / C # aplicación de escritorio
- SQLite ExecSql no funciona desde el archivo
- Leer desde una base de datos en android a un arraylist
Terminé este problema cambiando el parametor al nombre. Es extraño, pero todavía no sé por qué no funcionaba.
I estaba recibiendo id de banco como 0,1,2,3,4 puede ser que no está permitido en sqlite o internamente efecto, pero aún no estoy seguro.
cursor = this.db.rawQuery("select * from " + BanksTable.NAME + " where " + BanksTable.COL_NAME + "='" + bankName + "'" , null);
Resuelvo este problema agregando propiedad de "autoincrement" a la identificación, al crear la tabla
db.execSQL("CREATE TABLE IF NOT EXISTS " + BanksTable.NAME +" ( " +BanksTable.COL_ID + " integer PRIMARY KEY **autoincrement**, "+ BanksTable.COL_NAME + " varchar, " + BanksTable.COL_IMAGE_URL + " varchar," + BanksTable.COL_IMAGE + " blob);");