Delphi:使用参数选择输出outfile

时间:2017-02-14 02:55:35

标签: mysql delphi mariadb

我正在尝试使用MySQL在Delphi中使用Select Into Outfile命令:

dirfile:=pathProg+SaveDialog1.FileName+'.csv';

With dm.Query
do 
    begin
    SQL.Clear;
    SQL.Text:='SELECT * FROM tabel1  INTO OUTFILE :parfile';
    Parameters.ParamByName('parfile').value:=dirfile;
    ExecSQL;
    end;

但它不起作用,它会返回一个错误:

  

您的sql语法中有错误,请检查与您的mariadb服务器版本对应的手册,以便在正确的合成器附近使用

有什么建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

搜索后,发现你不能对文件名使用参数化值,它必须是字符串文字。在这种情况下,您将不得不手动构建SQL字符串,例如:

dirfile:=pathProg+SaveDialog1.FileName+'.csv';

with dm.Query do 
begin
  SQL.Text := 'SELECT * FROM tabel1 INTO OUTFILE ' + QuotedStr(dirfile);
  ExecSQL;
end;