从其它平台迁移而来
之前就想搞个数据连接池,结果太麻烦就放弃了,不想却在TFDConnection
中看到了Pooled
属性,就一路挖了下来,还真就是那么回事!
TFDManager#
之前只知道,放上TFDManager
控件后,什么都不用做,就可以在别的单元引用该单元后直接连接到TFDConnection
控件了;现在,数据连接池还是要通过TFDManager
来实现。
设置数据连接池参数#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//指定动态库
FDPhysMySQLDriverLink.VendorLib := 'libmysql.dll';
//设置连接参数
with FDManager.ConnectionDefs.AddConnectionDef do
begin
Name := 'MySQL_Conn';
Params.DriverID := 'MySQL';
Params.Add('CharacterSet=csUtf8mb4');
Params.Add('Server=127.0.0.1');
Params.Add('Port=3306');
Params.Database := 'test';
Params.UserName := 'root';
Params.Password := '123456';
Params.PoolMaximumItems := 10;
Params.Pooled := True;
end;
|
以上是以MySQL
为例,其它数据库参照即可。
打开连接池#
获取连接#
1
2
|
FDConnection.ConnectionDefName := 'MySQL_Conn';
FDConnection.Connected := True;
|
归还连接#
FDConnection
直接放到窗体上,或动态创建,写上如下代码即可,无需在设计器里设置任何东西。
1
|
FDConnection.Connected := False;
|
关闭连接池#