在对象之间共享数据连接

时间:2017-12-10 18:28:02

标签: delphi ado vcl

我正在尝试创建一个小应用程序,您可以将区,商店和员工保存到数据库中。现在我在所有类构造函数(TAdoConnectionTDistrict.Create等)中创建一个新的TEmployee.Create并执行查询。但必须有另一种方式。我考虑在更高级别创建TAdoConnection并将其作为参数传递给构造函数,但我也不认为这是正确的方法。任何意见都将不胜感激。

1 个答案:

答案 0 :(得分:-1)

也许这会对你有所帮助:

unit Unit1;

interface

type
  TController = class(TPersistent)
  private
    FConnecteur: TAdoConnection;
    procedure SetConnecteur(const Value: TAdoConnection);
  public
    constructor Create; virtual;
    destructor Destroy; override;
    property Connecteur: TAdoConnection read FConnecteur write SetConnecteur;
  end;

  TDistrict = class(TController)

  public
    constructor Create(AConnection: TAdoConnection);
  end;

(*the same think with TEmployee and other class*)

implementation

constructor TController.Create;
begin
  inherited Create;
  //Self.FConnecteur:= TAdoConnection.Create(); {if u want to create single connection *1}
end;

destructor TController.Destroy;
begin
  //Self.FConnecteur.free; (*1 if single connection was created *)
  inherited Destroy;
end;

procedure TController.SetConnecteur(const Value: TAdoConnection);
begin
  FConnecteur := Value;
end;

constructor TDistrict.Create(AConnection: TAdoConnection);
begin
  inherited Create;
  Self.FConnecteur:= AConnection;
end;

end.