Cursor c = cr.query(data_uri, projection, where, selectionArgs, ContactsContract.Data.DISPLAY_NAME + " COLLATE LOCALIZED ASC");当where子句包含?在它中,数据是从selectionArgs中获取的,那么在系统执行查询之前,是否有一种方法可以查看最终查询?
当系统中出现错误时,Android会在logcat中给出最后的查询,但是是否有其他方法来获得它呢?
发布于 2015-08-22 16:24:48
是也不是。
在这种情况下,许多提供程序使用SQLiteQueryBuilder来构造SQL。您可以使用它构造SQL字符串,然后将其记录下来。
?变量是SQL本身的一部分。绑定值是在编译SQL之后发生的。您无法获得一个“查询字符串”,并将变量替换为相应的文本,但您可以单独记录selectionArgs。
https://stackoverflow.com/questions/32157887
复制相似问题