绑定整型,长整型和斑点(字节[])到机器人SQL

问题描述:

query()exec()rawQuery()和方法在SQLiteDatabase允许绑定仅String s到参数。我如何绑定不是字符串的参数。具体来说,我想执行一条语句,其where子句包含一个(小)blob参数。我如何绑定这些值绑定整型,长整型和斑点(字节[])到机器人SQL

谢谢。

将您的类型转换为String,然后将其传递给任何方法。

要转换int,请使用静态方法Integer.toString(int)。同样,要长时间转换,请使用静态方法Long.toString(long)

如果是byte[],则可以使用String(byte[])String(byte[], Charset)构造函数。您需要确保您使用适当和一致的编码。

+0

谢谢。只是澄清一下:当您建议“确保您使用适当和一致的编码”时,您是否建议我选择一个字符集并对其进行硬编码,以使该语句正确绑定到默认字符集可能不同的所有设备上?在这种情况下,我可以随处选择UTF-8吗? – 2012-03-04 21:27:42

+0

是的,通过一致性我的意思是说,您可能需要确保每次执行此转换时都使用相同的编码。 UTF-8不是一个好的选择,因为并非所有的字节序列都是有效的UTF-8编码。 – 2012-03-04 21:30:29

+0

根据您的要求,您可能还想查看[base64](http://en.wikipedia.org/wiki/Base64)。 – 2012-03-04 21:31:55