1

Java (android) でクエリが機能しない理由がわかりません。sqlite データベースにアクセスしたいのですが、問題は「WHERE」句に関するものだと思います。

Cursor cQuery = db.query("PLUGBATTERY", new String[] {
                        "strftime('%s',date)", "code", "state","startup" }, "strftime('%Y-%m-%d',date)=="+DATE_FORMAT_DATE.format(currentC.getTime()), null, null,null, "strftime('%s',date)");

デバッグビューには DATE_FORMAT_DATE.format(currentC.getTime()) = 2013-08-22 があります

アプリケーションコードからクエリをテストできるかもしれませんが、その方法がわかりません...

ご協力いただきありがとうございます。

4

1 に答える 1

3

SQL では、文字列を記述する必要があります'with quotes'

パラメータを使用すると、このようなフォーマットの問題 (およびSQL インジェクション攻撃) を回避できます。

cursor = db.query("PLUGBATTERY",
                  new String[] { "strftime('%s',date)", "code", "state","startup" },
                  "date(date) = ?",
                  new String[] { DATE_FORMAT_DATE.format(currentC.getTime()) },
                  null, null, "date");
于 2013-08-27T10:55:23.150 に答える