---界面、逻辑和数据单元分离问题?(100分)

  • 主题发起人 brilliant83
  • 开始时间
B

brilliant83

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做个界面、逻辑和数据单元分离的程序,单条数据的读取、修改和删除可以通过逻辑单元中定义的类属性进行双向传递,但如果要对整张表的数据在表示界面显示,这个数据集该怎么从数据单元传过来呢?应该是一个对象集吧,请高手指点。
 
TDataSet
TList
TStrings
...
都可以,就看你怎么用
 
可以看一下关于MVC的书,或到www.2ccc.com找一下
 
用它TDataSet就行
 
楼上的,可否说的详细一点
我只是用分离的方法,让程序更容易维护。

举个例子:
1、逻辑单元中定义这个类
type
TStock = class
private
FStockCode: string;
FStockPrice: Real;
public
procedure SetStockCode(const AStockCode: string);
function GetStockCode: string;
procedure SetStockPrice(const AStockPrice: real);
function GetStockPrice: real;
property StockCode read GetStockCode write SetStockCode;
property StockPrice read GetStockPrice write SetStockPrice;
end;
2、数据存取单元
type
TDMStockForm = class(TDataModule)
ADOConn: TADOConnection;
ADOQuery: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
function ReadStockInfo: TStock;
procedure WriteStockInfo(AStock: TStock);
{ Public declarations }
end;

3、显示单元
通过对AStock对象的读取和写入来完成数据的增加、删除。


我现在遇到的问题是怎么对表中多条记录通过这个业务单元返回到显示单元,因为我这些中定义的是单个对象的操作,怎么存储多条记录呢?
public
SetID
把这些都定义在逻辑层
 
to 鳄鱼先生,你介绍的书我已经下载了,不过现在这个问题时间比较紧,可否就这个问题先指点一下呢?多谢
 
type
TDMStockForm = class(TDataModule)
ADOConn: TADOConnection;
ADOQuery: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
function ReadStockInfo: TStock;
procedure WriteStockInfo(AStock: TStock);
{ Public declarations }
property Query: TADOQuery read ADOQuery write ADOQuery //在界面层引用
end;
 

Similar threads

回复
0
查看
827
不得闲
S
回复
0
查看
962
SUNSTONE的Delphi笔记
S
顶部