我正在尝试使用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服务器版本对应的手册,以便在正确的合成器附近使用
有什么建议可以解决这个问题吗?
答案 0 :(得分:1)
搜索后,发现你不能对文件名使用参数化值,它必须是字符串文字。在这种情况下,您将不得不手动构建SQL字符串,例如:
dirfile:=pathProg+SaveDialog1.FileName+'.csv';
with dm.Query do
begin
SQL.Text := 'SELECT * FROM tabel1 INTO OUTFILE ' + QuotedStr(dirfile);
ExecSQL;
end;