---界面、逻辑和数据单元分离问题? 我想做个界面、逻辑和数据单元分离的程序,单条数据的读取、修改和删除可以通过逻辑单元中定义的类属性进行双向传递,但如果要对整张表的数据在表示界面显示,这个数据集该怎么从数据单元传过来呢?应该是一个对象集吧,请高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把数据库结构映射成一个类,通过类来传递值,或者用Record也行... Type TREC = Record var1:String END; PRec = ^Rec用PRec传递 是不是学DELPHI的大多数人都被五花八门的控件给惯懒了?为什么不多钻一下OOP呢? 呵呵,Delphi做界面的控件比较多啊~我用Delphi做界面,后台别人用C#做的DLL将数据集传过来,就可以读出数据。不过我不知道这是否符合规范。 to cuizhen7(如花) : 我本来就是在学OOP,没有在滥用控件啊,只是我的水平不到家,所以希望各位能帮帮我,指点一下迷津。我只是用分离的方法,让程序更容易维护。举个例子: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对象的读取和写入来完成数据的增加、删除。我现在遇到的问题是怎么对表中多条记录通过这个业务单元返回到显示单元,因为我这些中定义的是单个对象的操作,怎么存储多条记录呢? to wing_er():我觉得用记录集应该可以解决,不过能不能说的详细一点,谢谢! 每张表映射成一个列表对旬,每条数据对应成一个结构体,这个对象来管理这些数据,提供添加,删除,保存,查找方法.逻辑层用来操作数据层,界面直接调用逻辑层来显示.实现类似于ListToListView,ListToTreeView的方法. 问题解决了,多谢ZyxIp(绝望中...)指点 键值对问题 com口接收数据时出现了不正常现象。高手们进来看看。 几个DBGridEh问题请教 ADO为何无法通过Microsoft.Jet.OLEDB.4.0访问加密Access数据库? 求Delphi5或者6的下载地址 请问那里有传说中的"中文版DELPHI"? 关于DCOM 连接问题?(在线等) 要做一个职工消息发送器,请大家给个思路 请问 以下下程序为什么会异常呢? 简单问题!过节了给分啦????????????????????????????????? WWDBGRID下嵌套WWCHECKBOX的问题,急,想了半天,求帮忙 问当今世上谁是英雄?中国软件行业的发展在哪?
TREC = Record
var1:String
END;
PRec = ^Rec
用PRec传递
我用Delphi做界面,后台别人用C#做的DLL将数据集传过来,就可以读出数据。不过我不知道这是否符合规范。
我只是用分离的方法,让程序更容易维护。举个例子:
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对象的读取和写入来完成数据的增加、删除。
我现在遇到的问题是怎么对表中多条记录通过这个业务单元返回到显示单元,因为我这些中定义的是单个对象的操作,怎么存储多条记录呢?