看这张图,我的参数deviceType是int,所以使用:deviceType是正确的,但是我的deviceId是String,我需要使用'deviceId',所以是错误的。请询问 Room 如何转义单引号'
我尝试使用,他不能
"SELECT * from anitsnore_statistics where Device_type=:deviceType and deviceid =\':deviceId\'"
假设您希望
deviceId = 'whatever_device_passed'
(注意不是按照要求的 SQL 包含单引号)作为搜索内容。
deviceId 传递给函数hold 的值是
whatever_device_passed
,但是您希望将其括在单引号中,那么您可以使用:-
deviceid =''''||:deviceId||''''
deviceid = 'whatever_device_passed'
作为完全解析的值(即单引号是要比较的值的一部分)。但是,如果您只是搜索传递的 deviceId,则 deviceid =:deviceId 就足够了。也就是说 Room 在处理传递的值时会正确地将值括在单引号中。
另一种方法是包含单引号,即在传递给函数的 deviceId 值中包含单引号。在这种情况下,SQLite 绑定将正确括起单引号。