8

androidのquery()メソッドに非常に多くのパラメーターを渡します。Androidは、クエリメソッドを提供することで作業を簡素化しました。アンドロイドが作成してsqliteに送信するこのクエリメソッド引数からアンドロイドが形成するSQLクエリを印刷できるようにする方法はありますか?

4

3 に答える 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

http://www.sqlite.org/eqp.html

于 2013-02-07T07:35:43.550 に答える