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.

  • Limitar el número de filas devueltas desde sqlite
  • Obtener todos los elementos alrededor de un determinado punto de la base de datos SQLite
  • Cómo agregar una columna booleana en Android SQlite
  • SQLite de Android Únete a la consulta
  • cómo crear base de datos una sola vez, a continuación, leer y escribir varias veces desde él, SQLite, OpenHelper, Android
  • Android SQLite - selecciónArgs que no sean cadenas
  • SQLite de SQL INSERT o REPLACE
  • No puede ver datos Sqlite con adaptador simple
  • SQLite de Android: Actualización
  • IOS / Android sincronización con Delphi / C # aplicación de escritorio
  • Devolver datos de AsyncTask Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.