本文整理自网络,侵删。
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.---------------------
https://www.cnblogs.com/m0488/p/10840180.html
相关阅读 >>
Delphi win10系统通知 notificationcenter1 基本用法
Delphi [函数] unicode 检查字符串是否含中文字
winapi 字符及字符串函数(1): charlower - 字符或字符串转小写
winapi 字符及字符串函数(3): charupper - 字符或字符串转大写
更多相关阅读请进入《Delphi》频道 >>