- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个查询:
SELECT * FROM Vente WHERE
(DatePart ("d", Vente.DateDebut)=01) and
(DatePart ("m", Vente.DateDebut)=06) and
(DatePart ("yyyy", Vente.DateDebut)=2017);
此查询在 MS Access 2010 中工作正常,但是当我尝试从 TFDQuery
组件执行它时,它给了我一个错误:
[FireDAC][Phys][ODBC][Microsoft][Pilote ODBC Microsoft Access] Too few parameters. 3 Expected ...
有什么问题吗?我该如何解决这个问题?
更新:
这似乎是 DatePart ()
函数中的问题,因为我也尝试了这个:
SELECT DatePart ("d", Vente.DateDebut) FROM Vente
它给了我同样的错误,只是“3 Expected ...”变成了“1 Expected ...”。
最佳答案
我最好的猜测是,驱动程序拒绝您的查询,因为您使用了 "(引号)字符串转义。例如 FireDAC MS Access 元数据类在内部使用 '(撇号)来转义字符串值。如果我是对的,您将很难在 FireDAC 应用程序以及 MS Access 中使用可执行的字符串常量编写 SQL 查询,因为对于 FireDAC 您将编写如下查询(撇号必须在 Delphi 代码中转义):
SELECT DatePart(''d'', Vente.DateDebut) FROM Vente
这是 MS Access 无法理解的。它需要引号,而这对于 FireDAC 来说是 Not Acceptable :
SELECT DatePart("d", Vente.DateDebut) FROM Vente
我不知道有什么方法可以让您为 FireDAC 和 MS Access 编写带有字符串常量的命令。这应该适用于 FireDAC(不适用于 MS Access):
SELECT * FROM Vente WHERE
({EXTRACT(DAY, Vente.DateDebut)} = :Day) AND
({EXTRACT(MONTH, Vente.DateDebut)} = :Month) AND
({EXTRACT(YEAR, Vente.DateDebut)} = :Year)
在对 MS Access 进行预处理后,它应该生成如下命令(注意撇号):
SELECT * FROM Vente WHERE
(DATEPART('d', Vente.DateDebut) = :Day) AND
(DATEPART('m', Vente.DateDebut) = :Month) AND
(DATEPART('yyyy', Vente.DateDebut) = :Year)
关于delphi - Delphi 10 西雅图中的 FDQuery 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44847507/
尝试使用 GetIt 包管理器将 JCL 和 JVCL 安装到 Delphi 10 Seattle 时出现错误: “Windows 7 专业服务包 1 (6.1.7601) JVCL 3.50.0.0
我在 2 台机器上安装了 Delphi 10 Seattle。我在这两个方面都遇到了同样的问题。 当我输入函数/过程并输入 ( 时,以前版本中会弹出一个提示,显示函数参数以及您所处的步骤,但这不再起作
我在 Delphi XE2 中创建了 App.exe 应用程序,然后在 Delphi 10 Seattle 中创建了 DLL。当我在调用 DLL 后将 Application.Handle 传递给 D
我是一名优秀的程序员,十分优秀!