绑定整型,长整型和斑点(字节[])到机器人SQL
问题描述:
的query()
,exec()
rawQuery()
和方法在SQLiteDatabase
允许绑定仅String
s到参数。我如何绑定不是字符串的参数。具体来说,我想执行一条语句,其where
子句包含一个(小)blob参数。我如何绑定这些值绑定整型,长整型和斑点(字节[])到机器人SQL
谢谢。
答
将您的类型转换为String
,然后将其传递给任何方法。
要转换int,请使用静态方法Integer.toString(int)
。同样,要长时间转换,请使用静态方法Long.toString(long)
。
如果是byte[]
,则可以使用String(byte[])
或String(byte[], Charset)
构造函数。您需要确保您使用适当和一致的编码。
谢谢。只是澄清一下:当您建议“确保您使用适当和一致的编码”时,您是否建议我选择一个字符集并对其进行硬编码,以使该语句正确绑定到默认字符集可能不同的所有设备上?在这种情况下,我可以随处选择UTF-8吗? – 2012-03-04 21:27:42
是的,通过一致性我的意思是说,您可能需要确保每次执行此转换时都使用相同的编码。 UTF-8不是一个好的选择,因为并非所有的字节序列都是有效的UTF-8编码。 – 2012-03-04 21:30:29
根据您的要求,您可能还想查看[base64](http://en.wikipedia.org/wiki/Base64)。 – 2012-03-04 21:31:55