如何使用zeo数据库连接池

  介绍

本篇内容主要讲解”如何使用zeo数据库连接池”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”如何使用zeo数据库连接池”吧!

 unit  ZeosConPool;
  
  接口
  
  使用
  SysUtils,才能,窗户,,类,,IniFiles,,数据库,
  ,,ZAbstractRODataset, ZDataset,, ZAbstractConnection,, ZConnection,, ZCompatibility;
  
  类型
  TSQLConntionRecord =,才能记录
  ,,,主机名:,字符串;
  ,,,端口:,整数;
  ,,,用户名:,字符串;
  ,,,DBName:,字符串;
  ,,,MyDataBase:,字符串;
  ,,,密码:,字符串;
  结束才能;
  
  
  时间=TSQLConnectionPool 才能;类
  ,私人
  ,,,fDataBase:,字符串;
  ,,,fServer:,字符串;
  ,,,fPort:,整数;
  ,,,fUserName:,字符串,,,,,,,//,数据库用户
  ,,,fPassWord:,字符串,,,,,,,//,密码
  
  ,,,FConList:, TThreadList;,,//,池容器
  
  ,,,function  TestConnection(反对:,TzConnection):,布尔;
  ,,,function  CreateNewConnection:, TZConnection;
  ,,,function  GetConnectionRecord:, TSQLConntionRecord;
  public 才能,,,,
  ,,,function 流行:,TZConnection;
  ,,,procedure 推动(反对:,TZConnection);
  
  ,,,constructor 创建;
  ,,,destructor 破坏;,覆盖;
  结束才能;
  
  时间=TQryPool 才能;类
  ,私人
  ,,,function  GetQry:, TZQuery;
  ,,,procedure 反对(qry: TZQuery);
  ,,,procedure 断距(qry: TZQuery);
  ,公众
  ,,,function 要求:,TZQuery;
  ,,,procedure 返回(qry: TZQuery);
  结束才能;
  
  function 才能GetQueryJsonData (sql:字符串):,字符串;
  
  
  var
  ,,ConnectionPools: TSQLConnectionPool;
  ,,QryPools: TQryPool;
  
  实现
  
  
  function  _DataSetToJson (ADataset: TDataSet):,字符串;//,[{“CityId”:“18”,“某个”:“西安”},{“CityId”:“53”,“某个”:“广州”}]
  var
  ,,LRecord:字符串;
  ,,LField: TField;
  ,,我:整数;
  开始
  Result 才能;:=,& # 39;& # 39;;
  
  if 才能;(not  ADataset.Active),或(ADataset.IsEmpty), then 退出;
  
  Result 才能;:=,& # 39;[& # 39;;
  ADataset.DisableControls才能;
  ADataset.First才能;
  
  while 才能;not  ADataset.Eof 做
  ,开始
  ,,,for 小姐::=,0,用ADataset.FieldCount 作用;1,
  ,才能开始
  ,,,,,LField :=, ADataset.Fields[我];,//,取得当前字段
  ,,,,,if  LRecord =, & # 39; & # 39;然后
  ,,,,,,,LRecord :=, & # 39; {“& # 39;, +, LField.FieldName  +, & # 39;“:“& # 39;, +, LField.Text  +, & # 39;“& # 39;
  ,,,,,
  ,,,,,,,LRecord :=, LRecord  +, & # 39;“& # 39;, +, LField.FieldName  +, & # 39;“:“& # 39;, +, LField.Text  +, & # 39;“& # 39;
  
  ,,,,,if 小姐:=,ADataset.FieldCount 作用;1,然后
  ,,,,,开始
  ,,,,,,,LRecord :=, LRecord  +, & # 39;} & # 39;;
  ,,,,,,,if  Result =, & # 39;[& # 39;然后
  ,,,,,,,,,Result :=, Result  + LRecord
  ,,,,,,,
  ,,,,,,,,,Result :=, Result  +, & # 39; & # 39;, +, LRecord;
  ,,,,,,,LRecord :=, & # 39; & # 39;;
  ,,,,,结束;
  ,,,,
  
  ,,,ADataset.Next;
  结束才能;
  
  ADataset.EnableControls才能;
  Result 才能;:=,Result  +, & # 39;] & # 39;;
  结束;
  
  
  {,TSQLConnectionPool }
  
  constructor  TSQLConnectionPool.Create;
  开始
  FConList 才能;:=,TThreadList.Create;
  结束;
  
  destructor  TSQLConnectionPool.Destroy;
  var
  ,,我:整数;
  开始
  with  FConList.LockList 才能做的
  ,,,试一试
  ,,,,,for 小姐::=,Count 作用;1,downto  0,
  ,,,,,开始
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null
  null

如何使用zeo数据库连接池