S
sundart
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在也在尝试这种方式,因为可以把作界面层,业务层交给不同的人作。
我现在是用类封装了数据对象,里面封装了一些属性,以及跟访问数据的方法,
作界面的只需要知道这个类就行了。
比如:
TBase = class
private
FQuery: TADOQuery;
FID: Integer;
procedure SetID(const Value: Integer);
function GetEof: Boolean;
protected
FTableName: string;
procedure SetFieldValue;
virtual;
procedure GetDataFromTable;
virtual;
public
constructor Create;
virtual;
destructor Destroy;
override;
procedure Submit;
procedure First;
procedure Next;
procedure Prior;
procedure Last;
function Delete(const AID: Integer):Boolean;
virtual;
property ID: Integer read FID write SetID;
property Eof: Boolean read GetEof;
end;
TProduct = class(TBase)
private
FSpec: string;
FSotpMake: Boolean;
FPrice: string;
FUnits: string;
FMemo: string;
FName: string;
FSortID: string;
procedure SetMemo(const Value: string);
procedure SetName(const Value: string);
procedure SetPrice(const Value: string);
procedure SetSotpMake(const Value: Boolean);
procedure SetSpec(const Value: string);
procedure SetUnits(const Value: string);
procedure SetSortID(const Value: string);
protected
procedure SetFieldValue;
override;
procedure GetDataFromTable;
override;
public
constructor Create;
override;
destructor Destroy;
override;
property ID;
property Name: string read FName write SetName;
property Spec: string read FSpec write SetSpec;
property Units: string read FUnits write SetUnits;
property Price: string read FPrice write SetPrice;
property StopMake: Boolean read FSotpMake write SetSotpMake;
property Memo: string read FMemo write SetMemo;
property SortID: string read FSortID write SetSortID;
end;
Tbase是个基类,
Tproduct是产品类。
要访问一个产品内容,只需要创建一个Tproduct对象。 给出一个产品ID就可以了。
其属性Name对应于字段Name(名称),属性Spec对应于字段Spec(规格)。。。
Submit方法用了提交对数据的修改。
比如后台数据库觉得Name(名称)字段需要增加宽度,该了。
界面可以不动,因为对应它来讲TProduct类的Name属性没有变。
以上内容由于个人水平有限,请勿见笑!
我现在是用类封装了数据对象,里面封装了一些属性,以及跟访问数据的方法,
作界面的只需要知道这个类就行了。
比如:
TBase = class
private
FQuery: TADOQuery;
FID: Integer;
procedure SetID(const Value: Integer);
function GetEof: Boolean;
protected
FTableName: string;
procedure SetFieldValue;
virtual;
procedure GetDataFromTable;
virtual;
public
constructor Create;
virtual;
destructor Destroy;
override;
procedure Submit;
procedure First;
procedure Next;
procedure Prior;
procedure Last;
function Delete(const AID: Integer):Boolean;
virtual;
property ID: Integer read FID write SetID;
property Eof: Boolean read GetEof;
end;
TProduct = class(TBase)
private
FSpec: string;
FSotpMake: Boolean;
FPrice: string;
FUnits: string;
FMemo: string;
FName: string;
FSortID: string;
procedure SetMemo(const Value: string);
procedure SetName(const Value: string);
procedure SetPrice(const Value: string);
procedure SetSotpMake(const Value: Boolean);
procedure SetSpec(const Value: string);
procedure SetUnits(const Value: string);
procedure SetSortID(const Value: string);
protected
procedure SetFieldValue;
override;
procedure GetDataFromTable;
override;
public
constructor Create;
override;
destructor Destroy;
override;
property ID;
property Name: string read FName write SetName;
property Spec: string read FSpec write SetSpec;
property Units: string read FUnits write SetUnits;
property Price: string read FPrice write SetPrice;
property StopMake: Boolean read FSotpMake write SetSotpMake;
property Memo: string read FMemo write SetMemo;
property SortID: string read FSortID write SetSortID;
end;
Tbase是个基类,
Tproduct是产品类。
要访问一个产品内容,只需要创建一个Tproduct对象。 给出一个产品ID就可以了。
其属性Name对应于字段Name(名称),属性Spec对应于字段Spec(规格)。。。
Submit方法用了提交对数据的修改。
比如后台数据库觉得Name(名称)字段需要增加宽度,该了。
界面可以不动,因为对应它来讲TProduct类的Name属性没有变。
以上内容由于个人水平有限,请勿见笑!