2011-03-15 12 views
6

Tengo una tabla que contiene una columna BLOB (solo 16 bytes). Quiero ejecutar una consulta del formulario SELECT * FROM myTable WHERE blobColumn = ? y vincular una matriz de bytes a esa columna. Idealmente podría decir myDatabase.rawQuery("SELECT * FROM myTable WHERE blobColumn = ?", myByteArray) o alguna variante del mismo, pero la función rawQuery solo admite los argumentos de Cadena - aunque mirando a través de las fuentes de Android, parece que los métodos privados incluyen bindBlob(int, byte[]).Android SQLite - selectionArgs que no sean Strings

Puedo, por supuesto, ejecutar la consulta SELECT * FROM myTable WHERE blobColumn = x'CAFE1234CAFE1234CAFE1234CAFE1234', pero ¿hay alguna manera de hacerlo que no requiera convertir el blob en una cadena?

Respuesta

0

Pruebe esto como su argumento para su? consulta:

nueva String [] {String.valueOf (mByteArray)}

+0

Esto no funciona – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

0

No creo que se puede comparar el contenido de un campo Blob sin convertirlo primero. ¿Podría crear una columna adicional y cargarla con algún tipo de clave que podría ser única y descriptiva de sus datos de Blob asociados?