我正在使用AIR 1.5中的本地数据库功能。我有一个由以下人员创建的表:
"CREATE TABLE IF NOT EXISTS employees (timeAdded Date, name STRING)"
现在假设我希望在date1:Date
和date2:Date
之间添加每位员工,我会这样做:
"SELECT * FROM employees WHERE " + date1 + "<timeAdded AND timeAdded<" + date2
这不起作用,因为SQL中的Date
类型是Julian day number (JDN),而date1
和date2
是闪存格式的日期。通过flash获取日期的JDN是不可能的。我该如何解决这个问题?
编辑:我没有找到解决此问题的方法,但我使用了Date.time函数。
答案 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;
这应该有用。