delphi 使用FireDac的TFDScript组件执行文件中描述的SQL语句  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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入門');
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―Delphi最新',
    'Delphi XE2入門',
    '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;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.034616947174072 seconds