unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls; type TForm1 = class(TForm) Button1: TButton; btn1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; ADOCommand1: TADOCommand; Button2: TButton; procedure Button1Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } procedure ExecSql(SqlSentence:String); public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ExecSql(SqlSentence:String); begin with ADOQuery1 do begin Close; SQL.Clear(); SQL.Add(SqlSentence); ExecSQL; end; end; procedure TForm1.Button1Click(Sender: TObject); var I:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一條一套插入1萬條數據 耗時大約86秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=Format(' insert into MyTest (Name) values (%s)',[Name]); ExecSql(SqlStr ); end; Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; procedure TForm1.btn1Click(Sender: TObject); var I,x:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一次插入1萬條數據 耗時大約19秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=SqlStr+Format(' insert into MyTest (Name) values (%s) ',[Name]); end; ExecSql(SqlStr ); Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; procedure TForm1.Button2Click(Sender: TObject); var I,x:integer; SqlStr,MsgStr:string; ID,Name:string; Time:Cardinal; begin // 一次插入1萬條數據 耗時大約4秒 Time:=GetTickCount; for i:=1 to 10000 do begin Name:= QuotedStr('easyboot'+InttoStr(i)); SqlStr:=SqlStr+ Format(' insert into MyTest (Name) values (%s) ',[Name]); end; ADOConnection1.Open; ADOConnection1.BeginTrans; ADOCommand1.CommandText:=SqlStr; ADOCommand1.Execute(); ADOConnection1.CommitTrans; Time:=GetTickCount-Time; MsgStr:=Format('Time %d ',[Time]); ShowMessage(MsgStr); end; end. ---------------------