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 xe7中stringgrid组件的使用

Delphi中二进制文件数据存文件方法

indy tidtcpclient 的一个用法上要留意的问题,以及 http

Delphi xe2 - 实现无敌关机键

Delphi通过解析搜狐网页来获取天气的函数

Delphi获取闲置时间

Delphi firedac 下的 sqlite [8] - 自定义函数

Delphi stringgrid 实例3: 本例功能: 1、修改 tstringgrid的默认宽与高; 2、添加行; 3、确认当前单元并赋值.

Delphi fmx手机app,如何下载网站图片而不卡界面

Delphi实现身份证号码15到18位升位算法

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



打赏

取消

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

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

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

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

评论

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