如何在Delphi的SQL中使用变量


source:= tabledemap.FieldByName('table source').AsString + '('+ tabledemap.FieldByName('colonne source').AsString+')';
  showmessage(source)  ;

源值是列:a.name(firsatname(我想在此列中插入字符串't'但是我想在SQL请求中使用源变量的值

 FDQuery6.SQL.Add ('INSERT INTO  source  Values ( "t" ) ');
     FDQuery6.Execute;
      showmessage('row inserted');

但是该程序无法使用源变量值的文本,并认为源是表的名称,并显示给我

---------------------------
Notification des exceptions du débogueur
---------------------------
Le projet x a déclenché la classe d'exception EMySQLNativeException avec le message '[FireDAC][Phys][MySQL] Table 'a.source' doesn't exist'.

我尝试过"源", source ,但它也无法正常工作。如果有人可以帮助我使用SQL查询中的源变量的文本,我将感激不已。

在FireDac中,您可以使用预处理器宏来参与表和字段名称。例如:

FDQuery.SQL.Text := 'INSERT INTO &TableName (&FieldName) VALUES "ConstValue"';
FDQuery.MacroByName('TableName').AsIdentifier := 'MyTable';
FDQuery.MacroByName('FieldName').AsIdentifier := 'MyField';
FDQuery.ExecSQL;

有关此类宏的详细信息,请参见替代变量主题。

最新更新