udbfactory.~pas
来自「用DELPH写的DAO访问模块.有连接池.应用了各种模块,把数据库操作」· ~PAS 代码 · 共 66 行
~PAS
66 行
{*******************************************************}
{ }
{ 数据库工厂对象基类 }
{ 通过该抽象工厂创建数据库实例 }
{ }
{ 版权所有 (C) 2009 大道网络 }
{ }
{*******************************************************}
unit uDBFactory;
interface
uses
Classes, uDBContext, uDatabasePublic;
type
//数据库工厂对象基类
TDBFactory = class(TPersistent)
private
fDbKind : TDBKind;
protected
function getDbKind : TDBKind;
procedure setDBKind(pDbKind: TDBKind);
public
class function getDBFactory(pDbKind: TDBKind) : TDBFactory;
function CreatDBContext :TDBContext; virtual; abstract;
published
property DBKind : TDBKind read getDbKind write setDBKind;
end;
implementation
uses
uAccessFactory, uMssqlFactory, uOralceFactory;
{ TDBFactory }
//根据配置文件创建相应的数据库工厂
class function TDBFactory.getDBFactory(pDbKind: TDBKind) : TDBFactory;
begin
case pDbKind of
dbMSSQL:
result := TMssqlFactory.Create;
dbORACLE:
result := TOralceFactory.Create;
dbACCESS:
result := TAccessFactory.Create;
else
result := nil;
end;
end;
function TDBFactory.getDbKind: TDBKind;
begin
result := fDbKind;
end;
procedure TDBFactory.setDBKind(pDbKind: TDBKind);
begin
fDbKind := pDbKind;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?