我们向android的query()方法传递了很多参数。Android 通过提供查询方法简化了我们的工作。有什么办法可以让我打印出 android 将从这个查询方法参数中形成的 sql 查询,该查询方法参数由 android 创建并发送到 sqlite。
问问题
9032 次
3 回答
8
根据之前的帖子,我已经尝试并得到了以下解决方案,以便在日志中打印查询字符串。
的使用buildQueryString
方法SQLiteQueryBuilder
。它采用与方法采用的几乎相同的参数query()
............
String sqlQry = SQLiteQueryBuilder.buildQueryString(false,TABLE_NAME, null, COLUMN_NAME_PATIENTID +"="+ patientID, null, null, COLUMN_NAME_PATIENTFIRSTNAME, null);
Log.i(TAG, sqlQry);
cursor = db.query(TABLE_NAME, null, COLUMN_NAME_PATIENTID +"="+ patientID, null, null, null, COLUMN_NAME_PATIENTFIRSTNAME);
于 2013-02-08T12:01:43.903 回答
7
对于它的价值,如果您在调试器下运行,您可以查看私有成员变量mQuery
,它显示了在该游标上执行的确切 SQL 查询 - 它很方便,可以按需使用,而无需处理任何代码。
于 2015-08-11T21:58:36.480 回答
0
由于查询方法是游标类型的,我不确定它是否会被打印。如果要调试任何查询,可以使用 EXPLAIN QUERY PLAN 关键字和查询或使用 SQLiteQueryBuilder() 或使用 rawQuery() 方法简单地运行 SQL 查询。您可以从以下位置获取参考:
http://developer.android.com/reference/android/database/sqlite/SQLiteQueryBuilder.html
于 2013-02-07T07:35:43.550 回答