我正在开发的应用程序允许用户创建特定日期的日志。我正在尝试基于某个日期范围撤回信息。
这是创建表格的代码(为了这篇文章的目的而精简):
CREATE TABLE IF NOT EXISTS TimeLogged(
...
LogDate DATE NOT NULL
);
用于将日期插入表中的代码是:
INSERT INTO TimeLogged (LogDate) VALUES (date('2012-01-14'));
这是我用来获取日期范围的查询:
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);
即使有多条记录,我也没有得到任何结果。
这是我在删除 WHERE/BETWEEN 语句时在控制台输出中得到的内容: Flex/Flash Builder 控制台输出
提前感谢任何可以阐明我的问题的人。