中间件使用数据库池
中间件使用数据库池
引用数据库池的2个单元:
uses
core.firedac, core.firedacpool;
使用方法,请看代码中的注释:
procedure TDanWei.Select(AContext: TContext); var LDB: TDB; //一个数据库 LPool: TDBPool; //数据库池 LRequest, LResponse: TJsonO; begin LRequest := SO(AContext.InContent); if LRequest = nil then Exit; LResponse := TJsonO.Create; try try LPool := GetDBPool(LRequest.S[TConst.DBId]); //通过数据库帐套号,获取一个数据库池 LDB := LPool.Lock;//从数据库池中分配一个对象 LDB.Select('select * from tunit');//查询 LResponse.B[TConst.Success] := True; LResponse.S[TConst.Msg] := '查询成功'; LResponse.A[TConst.Fields] := LDB.qry.FieldsToJsonArray; LResponse.A[TConst.Data] := LDB.qry.DataToJsonArray; AContext.Send(LResponse); except on E: Exception do begin LResponse.B[TConst.Success] := False; LResponse.S[TConst.Msg] := E.Message; AContext.Send(LResponse); WriteLog('TDanWei.Select()' + E.Message); end; end; finally LPool.Unlock(LDB);//对象用完,返回数据库池中 LResponse.Free; LRequest.Free; end; end;
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/18853398