sql >> データベース >  >> RDS >> SQLite

WHERE + KEY_Date + ='+date+'を使用したSQLiteException

    1)リテラルのallfoodを追加しないでください 文字列へのオブジェクト。 SQLはJavaオブジェクトを解釈できません。

    allfoodであるため、メソッドは次のいずれかになります。 オブジェクト全体です。パラメータとして必要です。そしてそれをdateと名付けます 単に紛らわしいです。

    • totalFat(Date date)
    • totalFat(String date)
    • totalFat(Calendar date)
    • totalFat(int year, int month, int dayOfMonth)


    Date =DATE_20170213

    である必要があります

    2)いいえ、Sqliteはその形式の日付をサポートしていないため、実際にはそうすべきではありません。さらに、保留中のDATE_ データベースのストレージを無駄にしているだけです。

    3)これは使用しないでください

    date= year +""+ month +""+ dayOfMonth
    

    Calendarを作成する オブジェクトを作成し、SimpleDateFormatを使用します 日付形式の文字列を正しく取得します。

    上記の最後のオプションを使用すると、次のようなものになります

    SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    calendar.set(year, month, dayOfMonth);
    String queryForDate = fmt.format(calendar.getTime());
    // db.query(TABLE_NAME, null, new String[] {...  // TODO: Complete this 
    



    1. MySQL8.0のMySQLレプリケーションの新機能

    2. MariaDBを使用したLDAP認証とグループマッピングの構成

    3. サブクエリを使用してpostgresのテーブル行を更新する

    4. DBCCSHRINKFILEコマンドの概要