delphi7和delphi10.2.3都試過,zeosdbo-7.2.4-stable和zeosdbo-7.2.8-stable也都試過
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Activex,
Dialogs, StdCtrls, ZAbstractConnection, ZConnection, ZAbstractRODataset, ZAbstractDataset, ZDataset;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
procedure TestFunc;
public
{ Public declarations }
end;
var
Form1: TForm1;
sQry: TZQuery; //TZQuery
ADOC: TZConnection;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 1000 do
TestFunc;
end;
procedure TForm1.TestFunc;
begin
try
try
ADOC.LoginPrompt := False;
ADOC.Connected := False;
ADOC.HostName := '192.168.3.50';
ADOC.Port := 3306;
ADOC.Database := 'HZST';
ADOC.User := 'root';
ADOC.Password := '28000066';
ADOC.Protocol := 'mysql-5';
ADOC.ClientCodepage := 'gbk';
ADOC.Connected := True;
sQry.Close;
sQry.SQL.Text := 'select * from Usertable';
sQry.Open;
OutputDebugString(PChar(sQry.FieldByName('username').AsString));
//
except
end;
finally
sQry.Close;
ADOC.Connected := False;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
coinitialize(nil);
ADOC := TZConnection.Create(nil);
ADOC.LoginPrompt := False;
sQry := TZQuery.Create(nil);
sQry.Connection := ADOC;
ADOC.Connected := False;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
sQry.Free;
sQry := nil;
ADOC.Free;
ADOC := Nil;
CoUninitialize;
end;
end.
uj5u.com熱心網友回復:
之前用過,但是沒測驗過記憶體增長問題不建議使用zeosdbo 。。。。
用 FireDAC,連接池模式,多種資料庫支持,我用來高mysql,postgresql。。超好用
https://blog.csdn.net/jhzhao2001/article/details/79059062
uj5u.com熱心網友回復:
沒用過,有什么優點?uj5u.com熱心網友回復:
FormCreate里添加ReportMemoryLeaksOnShutdown := True;
跑完關閉,看提示哪里泄露。
uj5u.com熱心網友回復:
沒用過。從你代碼看,每次都是關閉了資料集的,會不會是他本身做了一些快取。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/245338.html
標籤:VCL組件開發及應用