gpt4 book ai didi

sql - 参数FDquery delphi不起作用

转载 作者:行者123 更新时间:2023-12-03 19:13:35 26 4
gpt4 key购买 nike

我有以下delphi代码:

FDQuery1.SQL.Clear;
FDQuery1.SQL.Add('SELECT * FROM :Tablename');
FDQuery1.ParamByName('Tablename').AsString := 'tasks';
ShowMessage(FDQuery1.sql.Text);
FDQuery1.Open;

(从此链接复制: http://www.delphigroups.info/2/da/237634.html
它不起作用,因为参数未填充但保持不变。
有人知道为什么它没有填充吗?

最佳答案

因为通常不能在SQL命令中使用参数来替换表名。不过,您在这里很幸运,FireDAC支持预处理程序宏以参数化SQL命令中的表名。因此,您可以编写以下示例(请注意,如果要像在代码中一样查看命令,则该命令必须在宏预处理之后,例如,在调用Prepare之后):

FDQuery1.SQL.Text := 'SELECT * FROM &TableName';
FDQuery1.MacroByName('TableName').AsIdentifier := 'tasks';
FDQuery1.Open;


有关此类宏的详细信息,请参见 substitution variables主题。

关于sql - 参数FDquery delphi不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com