Android SQLite - 除Strings之外的selectionArgs

时间:2011-03-15 18:22:13

标签: android sql sqlite

我有一个包含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转换为字符串?

2 个答案:

答案 0 :(得分:0)

试试这个作为你的论据?查询:

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

答案 1 :(得分:0)

我不相信您可以比较Blob字段的内容而无需先转换它。您是否可以创建一个额外的列并使用某种类型的密钥加载它,该密钥可以是唯一的并描述其关联的Blob数据?