说明:
EMS高级数据导入VCL是Borland Delphi和C++ Builder的组件套件,允许您从最流行的数据格式的文件导入数据到数据库。您可以从MS Excel、MS Access、DBF、XML、TXT、CSV、ODF和HTML导入数据。无需在烦人的数据转换上浪费时间-高级数据导入将快速完成任务,而不管源数据格式如何。
有关详细信息,请访问我们的网站:http://www.sqlmanager.net/
1、下载。
2、安装。
1)设置libraries path路径。
3、先使用navicat导入向导导入xls来创建output表,然后删除记录。参见前一篇博客内容。
4、打开demo文件。D:\riocomponents\Advanced Data Import 3.11\demos\Delphi\CustomDestination路径
在窗体上放置fdconnection+fdtable组件。
fdconnection属性设置如下。
FDConnection1.Params.Clear;
FDConnection1.Params.Add('Database=stock');
FDConnection1.Params.Add('User_Name=root');
FDConnection1.Params.Add('Password=root');
FDConnection1.Params.Add('Server=127.0.0.1');
FDConnection1.Params.Add('DriverID=MySQL');
FDConnection1.Params.Add('CharacterSet=gb2312');//防止乱
FDConnection1.Connected := True;
FDConnection1.LoginPrompt := False;
fdtable属性设置如下。
//FDTable1
FDTable1.Name := 'FDTable1';
FDTable1.Active := True;
FDTable1.Connection := FDConnection1;
FDTable1.UpdateOptions.UpdateTableName := 'stock.output';
FDTable1.TableName := 'stock.output';
3、使用QImportWizard组件导入。
按execute按钮。
结果。
4、代码设置。(1万条记录50个字段,导入耗时16秒)
ar
QImportWizard1:TQImport3Wizard;
begin
//QImportWizard1
QImportWizard1 := TQImport3Wizard.Create(Self);
//QImportWizard1
QImportWizard1.Name := 'QImportWizard1';
QImportWizard1.DataSet := self.FDTable1;//firedac 表
QImportWizard1.DBGrid :=DBGrid1;
QImportWizard1.ListView := ListView1;
QImportWizard1.StringGrid := StringGrid1;
QImportWizard1.Formats.DecimalSeparator := '.';
QImportWizard1.Formats.ThousandSeparator := ',';
QImportWizard1.Formats.DateSeparator := '-';
QImportWizard1.Formats.TimeSeparator := ':';
QImportWizard1.Formats.BooleanTrue.Clear;
QImportWizard1.Formats.BooleanTrue.Add('True');
QImportWizard1.Formats.BooleanFalse.Clear;
QImportWizard1.Formats.BooleanFalse.Add('False');
QImportWizard1.Formats.NullValues.Clear;
QImportWizard1.Formats.NullValues.Add('Null');
QImportWizard1.Formats.ShortDateFormat := 'yyyy/MM/dd';
QImportWizard1.Formats.LongDateFormat := 'yyyy/MM/dd';
QImportWizard1.Formats.ShortTimeFormat := 'hh:mm';
QImportWizard1.Formats.LongTimeFormat := 'hh:mm:ss';
QImportWizard1.HelpFile := 'AImportWizard.hlp';
QImportWizard1.ErrorLogFileName := 'error.log';
QImportWizard1.ShowProgress := False;
QImportWizard1.ShowHelpButton := False;
QImportWizard1.AddType := qatInsert;
QImportWizard1.GridCaptionRow := 0;
QImportWizard1.GridStartRow := 1;
QImportWizard1.FileName:='C:\Users\zhang\Documents\inputready.xls';
QImportWizard1.TemplateFileName:='D:\riocomponents\Advanced Data Import 3.11\demos\templates\excel.imp';
QImportWizard1.ShowProgress:=False;
QImportWizard1.Execute;
end;