SQL日期和Flash日期问题

时间:2009-10-08 14:58:26

标签: sql actionscript-3 air

我正在使用AIR 1.5中的本地数据库功能。我有一个由以下人员创建的表:

"CREATE TABLE IF NOT EXISTS employees (timeAdded Date, name STRING)"

现在假设我希望在date1:Datedate2:Date之间添加每位员工,我会这样做:

"SELECT * FROM employees WHERE " + date1 + "<timeAdded AND timeAdded<" + date2

这不起作用,因为SQL中的Date类型是Julian day number (JDN),而date1date2是闪存格式的日期。通过flash获取日期的JDN是不可能的。我该如何解决这个问题?

编辑:我没有找到解决此问题的方法,但我使用了Date.time函数。

2 个答案:

答案 0 :(得分:1)

你确定这不是因为没有在日期前引用的结果吗?

尝试: "SELECT * FROM employees WHERE '" + date1 + "'<timeAdded AND timeAdded<'" + date2+"'"

否则,是否没有闪存“ToString”方法或日期的东西?

我找到了你想要的'格式化为字符串'。您正在寻找DateFormatter类,显然(不幸的是)单独下载:http://www.yapiodesign.com/blog/2005/11/10/dateformatter-static-class-update-of-darron-schalls-dateformatas/

另外:您是否查看了“DateUtil”类?

最后:遇到同样问题并解决问题的人:http://blog.wheelerstreet.com/a-quick-actionscript-3-workaround-for-ms-sql

答案 1 :(得分:1)

对于那些寻找未来答案的人:

sqlStatement.text = "SELECT * FROM employees WHERE :date1 < timeAdded AND timeAdded < :date2"
sqlStatement.parameters[":date1"] = date1;
sqlStatement.parameters[":date2"] = date2;

这应该有用。