2011-04-02 61 views
1

我在使用SQLite的Air应用程序中运行此操作。试图运行一个查询,我得到这个错误,但它似乎不应该是这样的情况下,除非我误解了一些东西。参数计数不匹配?但我相当肯定他们匹配

details:'参数数量不匹配。在指定的SQL中找到1个,在参数属性中设置3个值。期待值 ':PatientId'

SQL语句文本:

SELECT DateTime, BolusTotal FROM Bolus 
WHERE DateTime >= ':Date :StartTime' 
AND DateTime < datetime(':Date :StartTime', '+24 hours') 
AND PatientID = :PatientId 
ORDER BY DateTime ASC 

和3个参数进行设置。 :日期 - 2011-04-03,:PatientId - 1,:StartTime - 00:00:00。

我错过了什么吗?因为我在指定的SQL中看到3个参数...

回答

2

单引号中的参数未被识别为参数 - 它认为它们只是字符串的一部分。仅:PatientId被视为参数。

您需要在第一种情况下传入完全格式化的日期时间,第二种情况下,可以在呼叫外添加24,然后将其作为另一个参数传递。

+0

太棒了!应该是明显的..我被卡住了,因为我在看一个使用单引号而不是双引号来描述查询字符串的例子,这让我觉得把一个字符串而不是int的参数放在里面是正确的引号。 – Damon 2011-04-02 05:50:09