现在有这样一个需求,左侧是一个listbox,用来显示列表信息,然后右边用pagecontorl做的多页面数据管理,每个tabsheet就是对应一个数据库的表,可以参见下图
现在思路有点不清晰,请指点下,我想通过工具栏的新建、编辑、保存、删除来对数据进行处理,我现在有三个矿产,每个矿产所显示的tabsheet页面不一样,比如矿泉水,那么就把除了地热、地下水的基本情况两个tabsheet隐藏,其他的都显示,对应的地热,就是把矿泉水、地下水的tabsheet给隐藏,其他的都显示,地下水也是如此处理,这是界面上的操作,那么功能上的操作,因为我用的是adotable,那么每个tabsheet上就都有一个关键码,矿区编号,这个就是表示这所有的表都是通过这个矿区编号来进行关联的,新建矿区,我就是全部用adotable.append,然后再在界面上通过dbedit来进行数据的输入,保存呢,我就是用adotable.post,编辑就是adotable.edit。为了方便工作,我写了几个函数,比如对pagecontrol的界面控制,用了一个jbqkqshow(kc:string)、然后因为新建的时候,也涉及到一个界面显示、然后又是对不同数据表的操作,我是不是也要写一个专门处理数据表的函数呢?现在感觉思路有点乱,总想抽象点出来,尽量的将程序好控制,好处理,不知道各位有没有什么好的思路,或者对我的这个有好的建议,如果用类来处理,该如何处理呢?谢谢大家,最近因为几个项目同时压着,这个只是其中的一个信息化的项目,所以头很昏,先感谢了~
现在思路有点不清晰,请指点下,我想通过工具栏的新建、编辑、保存、删除来对数据进行处理,我现在有三个矿产,每个矿产所显示的tabsheet页面不一样,比如矿泉水,那么就把除了地热、地下水的基本情况两个tabsheet隐藏,其他的都显示,对应的地热,就是把矿泉水、地下水的tabsheet给隐藏,其他的都显示,地下水也是如此处理,这是界面上的操作,那么功能上的操作,因为我用的是adotable,那么每个tabsheet上就都有一个关键码,矿区编号,这个就是表示这所有的表都是通过这个矿区编号来进行关联的,新建矿区,我就是全部用adotable.append,然后再在界面上通过dbedit来进行数据的输入,保存呢,我就是用adotable.post,编辑就是adotable.edit。为了方便工作,我写了几个函数,比如对pagecontrol的界面控制,用了一个jbqkqshow(kc:string)、然后因为新建的时候,也涉及到一个界面显示、然后又是对不同数据表的操作,我是不是也要写一个专门处理数据表的函数呢?现在感觉思路有点乱,总想抽象点出来,尽量的将程序好控制,好处理,不知道各位有没有什么好的思路,或者对我的这个有好的建议,如果用类来处理,该如何处理呢?谢谢大家,最近因为几个项目同时压着,这个只是其中的一个信息化的项目,所以头很昏,先感谢了~
示例代码如下所示(仅供参考):
type
{ TBase } TBase = class(TObject)
private
FstrSQL: string;
procedure SetstrSQL(const Value: string); protected public
constructor Create;
destructor Destroy; override; function InsertRecord: Boolean; virtual; abstract; //添加数据
function UpdateRecord: Boolean; virtual; abstract; //修改数据
function DeleteRecord: Boolean; virtual; abstract; //删除数据 function OpenDataSet: Boolean; virtual; abstract; //打开数据集
function RefreshDataSet: Boolean; virtual; abstract; //刷新数据集 function FillDataSet: Boolean; virtual; abstract; //填充数据至控件 published
property strSQL: string read FstrSQL write SetstrSQL;//执行的SQL语句
end;implementation{ TBase }constructor TBase.Create;
beginend;destructor TBase.Destroy;
begin inherited;
end;procedure TBase.SetstrSQL(const Value: string);
begin
FstrSQL := Value;
end;
朋友,你这段代码,不错,可以共享一个 完整的 DEMO 吗,
这样写的好处就是:所有的类都是从基类中继承的,所以说,如果以后要添加什么功能,可以在父类中添加,而不需要每个单元变动太大。即一改则全改的情况。至于特殊的情况,可以使用virtual, overide, inherited 配合使用,效果很不错。