rei*_*tam 1 sql delphi parameters
我有以下delphi代码:
FDQuery1.SQL.Clear;
FDQuery1.SQL.Add('SELECT * FROM :Tablename');
FDQuery1.ParamByName('Tablename').AsString := 'tasks';
ShowMessage(FDQuery1.sql.Text);
FDQuery1.Open;
Run Code Online (Sandbox Code Playgroud)
(从这个链接中获得: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;
Run Code Online (Sandbox Code Playgroud)
有关此类宏的详细信息,请参阅替换变量主题.
| 归档时间: |
|
| 查看次数: |
624 次 |
| 最近记录: |