Cómo comprobar si BLOB es nulo

¿Cómo se comprueba si el valor de una columna en una base de datos SQLite es nulo, si es del tipo Blob?

Estoy buscando un Cursor así:

public Cursor fetchArticle(int i) throws SQLException { Cursor mCursor = mDatabase.query(true, "api_content", new String[] { "_id", "ArticleName", "ArticleText","ImageLink", "Image" }, KEY_ID + "=" + i, null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; } 

¿Cómo puedo comprobar si el valor de la columna de la imagen, índice 4, es nulo? He intentado lo siguiente:

  • Usando el método isNull () , que siempre devuelve false cuando de hecho el valor debe ser ciertamente nulo
  • Usando articleCursor.getBlob(4) == null , donde articleCursor es un Cursor válido (devuelve false)

Para complicar aún más las cosas, al imprimir el articleCursor.getBlob(4)[0] , devuelve valores como 78 o 91 , que no se parecen a nada que considero null .

Y de nuevo, es imposible que la base de datos tenga datos en esa columna; debe ser nulo. ¿Algunas ideas? ¡Gracias!

A continuación encontrará la consulta para obtener el valor Y o N

 select id, case when myblob is not null then 'Y' else 'N' end, myblob 

Si blob es nulo, entonces devuelve N else Y.

Método getBlob () siempre tiene un valor. Si el valor de esta columna es vacío o nulo, al usar la longitud del método, el resultado es 1.

Ejemplo:

 byte[] image = cursor.getBlob(cursor.getColumnIndex("image")); if(imgage.length == 1) { //data is empty } else{ // has data } 

Espero que pueda ayudarte.

  • Sqlite Database - ¿Cómo guardar la imagen tomada de la intención de la cámara, así como hashmap a sqlite para recuperar más tarde?
  • No pudo leer la fila 0, la columna -1
  • Obtención del tipo de una columna en SQLite
  • ¿Qué es lo mejor: 1 tabla por registro o 1 tabla con todos los registros vinculados con claves foráneas?
  • Android: falló a setLocale () al construir, cerrando la base de datos
  • Cómo implementar una base de datos de objetos de uno a muchos en sqlite para android
  • Android: Cómo sumar todas las columnas de una base de datos SQLite y devolver 1 variable única
  • Comprobación de Android cuando se actualizó la última vez
  • ¿Qué podría estar causando este SQLite CursorWindowAllocationException?
  • Limitación de una consulta SQLite en android
  • Unir 3 tablas en la base de datos SQLite
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.