0

レイアウトに 2 つの単純な DatePicker があります。

...

    <DatePicker
    android:id="@+id/dp1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

...

<DatePicker
    android:id="@+id/dp2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

...

<Button
    android:id="@+id/bokdate"
    android:layout_width="62dp"
    android:layout_height="wrap_content"
    android:text="@string/ok" />

最初の DatePicker 日付と 2 番目の DatePicker 日付の間のレジスタをデータベースに照会します。

日付は、 SQLite 関数YYYY-MM-DD HH:MM:SSを使用して、この形式でデータベースに保存されます。datetime('now', 'localtime')

このコードを試しましたが、うまくいきません。

    DatePicker dp1 = (DatePicker) findViewById(R.id.dp1);
    DatePicker dp2 = (DatePicker) findViewById(R.id.dp2);

    Integer day1 = dp1.getDayOfMonth();
    Integer month1 = dp1.getMonth() + 1;
    Integer year1 = dp1.getYear();

    String s1 = "'" + year1.toString() + "-" + month1.toString() + "-"
            + day1.toString() + " 00:00:00'";

    Integer day2 = dp2.getDayOfMonth();
    Integer month2 = dp2.getMonth() + 1;
    Integer year2 = dp2.getYear();

    String s2 = "'" + year2.toString() + "-" + month2.toString() + "-"
            + day2.toString() + " 00:00:00'";

    final Button b1 = (Button) findViewById(R.id.bokdate);

    b1.setOnClickListener(new OnClickListener() {
        public void onClick(View arg0) {
            Intent intent = new Intent(OtherDatesActivity.this,
                    ShowDateStatisticsActivity.class);
            Bundle bundle = new Bundle();
            bundle.putString("query",
                    "SELECT * FROM statistics WHERE date BETWEEN " + s1 + " AND "
                            + s2);
            intent.putExtras(bundle);
            startActivity(intent);
        }

日付形式に似た2つの文字列を生成しようとしていました。私は何をすべきか?

4

1 に答える 1

0

"SELECT * FROM statistics WHERE date >= Datetime(" + s1 + ") AND date <= Datetime(" + s2 +")" を試しましたか?

于 2012-05-15T20:44:59.283 に答える