Delphi 使用FireDac的TFDScript组件执行文件中描述的SQL语句


本文整理自网络,侵删。

 
例子
C:\数据\ sample.sql

CREATE TABLE BOOKS(ID INTEGER PRIMARY KEY, NAME TEXT);
INSERT INTO BOOKS(ID, NAME) VALUES(1, 'Delphi 2009 handbook');
INSERT INTO BOOKS(ID, NAME) VALUES(2, 'Delphi XE2入?T');
INSERT INTO BOOKS(ID, NAME) VALUES(3, 'Delph');
执行文件中描述的SQL

FDScript1.ExecuteFile('C:\data\sample.sql');
使用脚本参数
TFDScript的ExecuteFile方法将脚本参数作为第二个参数。
脚本参数是一个字符串数组。

FDScript1.ExecuteFile(文件名,脚本参数);
SQL语句中的“&职位编号”被替换为参数。

例子
C:\数据\ sample.sql

CREATE TABLE &1(ID INTEGER PRIMARY KEY, NAME TEXT);
INSERT INTO &1(ID, NAME) VALUES(1, '&2');
INSERT INTO &1(ID, NAME) VALUES(2, '&3');
INSERT INTO &1(ID, NAME) VALUES(3, '&4');
执行文件中描述的SQL

FDScript1.ExecuteFile('C:\data\sample.sql',
  [ 'BOOKS',
    'Delphi 2009 handbook?DDelphi最新',
    'Delphi XE2入?T',
    'Delphi']);
捕捉错误
如果执行SQL脚本时发生错误,则会引发OnError事件。

procedure TForm1.FDScript1Error(ASender: TObject;
  const AInitiator: IFDStanObject; var AException: Exception);
begin
 
  ShowMessage(AException.Message);
end;
获取发生的错误数
您可以获取TotalErrors属性中发生的错误数。

FDConnection1.StartTransaction;
try
  FDScript1.ExecuteFile('C:\data\sample.sql');
finally
  if FDScript1.TotalErrors > 0 then
    FDConnection1.Rollback
  else
    FDConnection1.Commit;
end;
显示SQL脚本执行的进度
使用TFDGUIxScriptDialog显示SQL脚本执行的进度。

TFDGUIxScriptDialog

将TFDGUIxScriptDialog组件放置在窗体上,并设置TFDScript组件的ScriptDialog属性。

FDScript1.ScriptDialog := FDGUIxScriptDialog1;

相关阅读 >>

Delphi中的record怎么动态分配内存?

Delphi完美的线程注入和卸载

Delphi安卓创建pdf文件并打开

Delphi udp文件传输

Delphi 字符串加单引号

Delphi 解决webbrowser不能复制的问题

Delphi midstr 返回指定范围内的字符串

Delphi xe并行编程:ttask

Delphi通过wmi获取系统信息

Delphi httpencode编码

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...