我有一个包含BLOB列的表(它只有16个字节)。我想运行SELECT * FROM myTable WHERE blobColumn = ?
形式的查询并将字节数组绑定到该列。理想情况下,我可以说
myDatabase.rawQuery("SELECT * FROM myTable WHERE blobColumn = ?", myByteArray)
或者它的一些变体,但rawQuery函数只支持String参数 - 虽然查看Android源代码,但私有方法似乎包含bindBlob(int, byte[])
。
我当然可以运行查询SELECT * FROM myTable WHERE blobColumn = x'CAFE1234CAFE1234CAFE1234CAFE1234'
,但有没有办法不需要将blob转换为字符串?
答案 0 :(得分:0)
试试这个作为你的论据?查询:
new String [] {String.valueOf(mByteArray)}
答案 1 :(得分:0)
我不相信您可以比较Blob字段的内容而无需先转换它。您是否可以创建一个额外的列并使用某种类型的密钥加载它,该密钥可以是唯一的并描述其关联的Blob数据?