私が作業しているアプリケーションでは、ユーザーは特定の日のログを作成できます。特定の日付範囲に基づいて情報を取り戻そうとしています。Flex Mobile 4.6 Flex/Flash Builderまたはデバイス内でSqliteの日付範囲クエリが機能しない
ここで(この記事の目的のためにスリム化)テーブルを作成するコードです:ここだ
INSERT INTO TimeLogged (LogDate) VALUES (date('2012-01-14'));
:
CREATE TABLE IF NOT EXISTS TimeLogged(
...
LogDate DATE NOT NULL
);
テーブルに日付を挿入するために使用されるコードは、クエリ私は日付範囲を取得するために使用しています:
SELECT LogDate FROM TimeLogged WHERE LogDate BETWEEN date('2012-01-01') AND date('2012-04-16')
これは、完全にSqliteコマンドウィンドウから動作します。私はPIXを投稿するにはあまりにも新しいですので、ここでのリンクです: Sqlite Command Window
ここで私は結果を取り戻すためのFlex/Flash Builderの4.6で使用するコードは次のとおりです。
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = SQLCom.SQLCon;
stmt.text = "SELECT LogDate FROM TimeLogged WHERE LogDate BETWEEN date('2012-01-01') AND date('2012-04-16')";
try{
stmt.execute();
}
catch(err:SQLError){
trace(err.details);
}
var a:ArrayCollection = new ArrayCollection(stmt.getResult().data);
trace("a.length: " + a.length);
for(var i:int = 0; i < a.length; ++i)
trace("a[" + i + "]: " + a[i].LogDate);
私もかかわらず、バックは結果を取得していません複数のレコードがあります。 Flex/Flash Builder Console output
は私の問題にいくつかの光を当てることができます誰にも事前にありがとうございます。ここでは
は、私は声明BETWEEN/WHEREを削除するとき、私はコンソール出力で得るものです。