0
Cursor allDetail = allDatabase2.rawQuery("Select "+ TaskDatabaseManager.KEY_ROWID + ","+ TaskDatabaseManager.TASK_TIMES + ","+ TaskDatabaseManager.TASK_DESCRIPTION + " from "+ TaskDatabaseManager.DATABASE_TABLE + " where "+ TaskDatabaseManager.TASK_DATE + "= '"   + LaunchActivity.selectedDate + "'", null);

データベース内の 2 つの日付を正しく比較できません。それらを比較する方法に関するヘルプ。私のAndroidデータベーススキーマは

  static final String CREATE_QUERY = "CREATE TABLE " + DATABASE_TABLE + "("+KEY_ROWID+" INTEGER PRIMARY KEY AUTOINCREMENT ,"
        + TASK_DESCRIPTION + " VARCHAR(200)  NULL,"+TASK_DATE+ " DATE  Null, "+ TASK_TIMES
        + "  VARCHAR(30)  NULL," + TASK_STATUS + " BOOLEAN DEFAULT FALSE);";
4

2 に答える 2

1

Google フォーラムでこれを見つけました。

SQLite は日付を文字列として扱います。ISO-8601 形式 (YYYY-MM-DD HH:MM:SS) を使用して日付/時刻を保存しない場合 、ISO-8601 形式でのみ字句比較が期待どおりに機能
するため、それらを比較することはできません。

于 2013-08-02T12:22:29.797 に答える