顺问:
感觉学习DELPHI已经还可以了,如何深入?! 最早做数据库应用软件,最经常写的就是:
//看到现在好多大公司里都是这样写代码的。
AdoQuery.FieldByName('FieldName').asString:='';
AdoQuery.post;
后来,
TDataBase=class //数据库基类
private
protected
procedure NewRecord;virtual;
procedure Edit;virtual;
procedure Delete;virtual;
procedure Update;virtual;
public
constructor Create(AdoQuery:TAdoQuery);overload;
constructor Create(const ATableName:string='');overload;然后,每个表都是用一个类来包装。再后来,研究通信,如邮件协议,邮件服务器,winsock等。迷茫中, 不知道要用什么?看身边的人在看着C#,哎!!!!
谁指点迷津?
感觉学习DELPHI已经还可以了,如何深入?! 最早做数据库应用软件,最经常写的就是:
//看到现在好多大公司里都是这样写代码的。
AdoQuery.FieldByName('FieldName').asString:='';
AdoQuery.post;
后来,
TDataBase=class //数据库基类
private
protected
procedure NewRecord;virtual;
procedure Edit;virtual;
procedure Delete;virtual;
procedure Update;virtual;
public
constructor Create(AdoQuery:TAdoQuery);overload;
constructor Create(const ATableName:string='');overload;然后,每个表都是用一个类来包装。再后来,研究通信,如邮件协议,邮件服务器,winsock等。迷茫中, 不知道要用什么?看身边的人在看着C#,哎!!!!
谁指点迷津?
liumengchuan
//
“再后来,研究通信,如邮件协议,邮件服务器,winsock等。”
和DELPHI没什么关系啊,VC++也一样
TDataBase=class //数据库基类
private
protected
procedure NewRecord;virtual;
procedure Edit;virtual;
procedure Delete;virtual;
procedure Update;virtual;
public
constructor Create(AdoQuery:TAdoQuery);overload;
constructor Create(const ATableName:string='');overload;然后,每个表都是用一个类来包装
---------------------------------------
好做法:)
Delphi应该再可以有三四年的时间吧。之后如何就很难说了。
.net 和Java应该是不错的选择。
FADOQuery : TADOQuery Read ... Wirte ....;
Procedure Edit..(FiledName,FiledValue,Type : Array of String)..
...//如此之类的,或是
IDataBase = Interface()
{GUID}
....
TDataBase = Class(DBEdit , IDataBase)
...
在Patterns里Register Code template.建立代码模板.编写好后,还可以自动生成接口.>>您说的每个表用一个类来封装是什么意思呢?或是有这个必要吗?
回复人: wdsimon(老王) ( ) 信誉:99 2003-8-16 8:24:32 得分:0
如何把表封装成类,楼主可以将清楚些吗,谢谢!比如有一个TUser表,我写了一个TUserClass类来封装:
假设字段是:
ID:int
Name:str
Age:int
Tel:str
Addr:str TUserClass=Class(TDataBase) //从数据库基类继承
private
public
property name:string read getname write setname;
property Age:integer read getage write setage;
property tel:string read gettel write settel;
property addr:string read getaddr write setaddr;
//当然,这些类的所有代码都是MM生成的。不必发费那么多的力气去一个个写property的。要增加记录:
TUserClass的实例.newRecord;
.name:='Shit';
.age:=10;
.tel:=0000000;
.addr:='beijing China.';
.update;
当然,这里是说使用类的,接口也差不多,但是使用接口你创建后不必释放,它会自动释放。
所有的类似的DB操作抽象成一个模板类,类中包括相关操作。
为每个具体的表或数据结构抽象一个类,类的接口规范符合模板类的接口规范即可。
这样,所有的DB调用都采用统一方式进行,新表的扩充只需要增加对应的类即可,程序的大体框架仍然保持不变,代码的复用性可以大大提高,可实现UI和DB操作的完全分离。
所有的类似的DB操作抽象成一个模板类,类中包括相关操作。
为每个具体的表或数据结构抽象一个类,类的接口规范符合模板类的接口规范即可。
这样,所有的DB调用都采用统一方式进行,新表的扩充只需要增加对应的类即可,程序的大体框架仍然保持不变,代码的复用性可以大大提高,可实现UI和DB操作的完全分离。我一直想采用这种方法,但是我现在还只能采用基类+每个表一个类的方法解决。主要是因为不知道怎样让基类适应不同表的不同字段?因为我现在将每个表的记录声明成一个Record,关键怎样自动获知Record中的成员名称,我不知道。有人知道吗?
正再拼命学delphi
好久没用delphi啦
可怜啊~~~~~~~~~!
up
努力,delphi应该可以帮你的