2015-08-22 3 views
0
Cursor c = cr.query(data_uri, projection, where, selectionArgs, ContactsContract.Data.DISPLAY_NAME + " COLLATE LOCALIZED ASC"); 

Когда предложение where содержит? в нем данные берутся из selectionArgs, так есть ли способ увидеть окончательный запрос, прежде чем он будет выполнен системой?Просмотреть окончательный запрос в android

Android дает окончательный запрос в logcat при возникновении ошибки в системе, но есть ли способ получить его в противном случае?

ответ

1

Да и нет.

Под капотом Многие провайдеры используют SQLiteQueryBuilder для построения SQL. Вы можете использовать его для построения строки SQL, а затем для ее регистрации.

? переменные являются частью самого SQL. Значения привязки к ним происходят после компиляции SQL. Вы не можете получить «строку запроса» с замененными переменными соответствующими литералами, но вы можете зарегистрировать свой selectionArgs отдельно.

+0

Спасибо, что пока еще нет способа. –

Смежные вопросы