Android SQLite - выделение арг, кроме строк - PullRequest
6 голосов
/ 15 марта 2011

У меня есть таблица, содержащая столбец BLOB (это всего 16 байтов). Я хочу выполнить запрос вида SELECT * FROM myTable WHERE blobColumn = ? и связать массив байтов с этим столбцом. В идеале я бы мог сказать myDatabase.rawQuery("SELECT * FROM myTable WHERE blobColumn = ?", myByteArray) или какой-то другой вариант, но функция rawQuery поддерживает только строковые аргументы - хотя, глядя на источники Android, кажется, что частные методы действительно включают bindBlob(int, byte[]).

Я могу, конечно, просто выполнить запрос SELECT * FROM myTable WHERE blobColumn = x'CAFE1234CAFE1234CAFE1234CAFE1234', но есть ли способ сделать это, не требующий преобразования большого двоичного объекта в строку?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2015

Я не верю, что вы можете сравнить содержимое поля Blob без предварительного его преобразования.Не могли бы вы создать дополнительный столбец и загрузить его ключом определенного типа, который мог бы быть уникальным и описывать связанные с ним данные BLOB-объектов?

0 голосов
/ 15 марта 2011

Попробуйте это как свой аргумент своему?запрос:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...