2013-10-03 25 views
3

我一直在使用Delphi约10年来开发数据库应用程序。如何将OOP技术应用于Delphi数据库编程?

我的日常生活周期是关于创建一个新的TForm,删除诸如TSQLQuery,TDataSource(作为2层数据库应用程序)TDBGrid等组件。然后设置所需的属性以显示数据库中的数据以及编码CRUD操作根据具体事件。

如果我想使用面向对象来适应我的日常生活周期,使我的代码更具可重用性,我相信我拥有关于面向对象的基本知识,我知道如何编写类,但是在此案例U知道我应该写什么课,课应该做什么。

那么请引导我从哪里开始?我现在真的很困惑如果我为TCustomer编写一个类来从数据库表中读取数据,在从数据库中读取数据后,如何将数据提供给数据库控件(如TDBGrid),所以我很困惑要写的课程以及班级应该做什么。

编辑 我只是希望有一个很简单的例子,让我们说,如果我不得不开发出只有一个数据库表(例如客户)如何设计图案或使用OOP技术用于这个应用程序数据库应用程序。

谢谢。

P.S.我仍然在使用Delphi7

+0

http://stackoverflow.com/q/1017791/62576应该给你一个起点。 –

+0

您应该研究ORM范例。恕我直言,一本关于如何重新定义传统数据库方法的有趣说明在本书的介绍部分[Entity framework in Action](http://www.manning.com/mostarda/)中。是的,这不是德尔福,但原理是类似的。是的,你将需要一些ORM框架:对于德尔福有[TMS Aurelius](http://www.tmssoftware.com/site/aurelius.asp) – pf1957

+0

我刚刚发现有一些端口的Hibernate框架我使用Java [Delphi Hibernate](http://code.google.com/p/delphi-hibernate/) – pf1957

回答

0

我通常从连接我的UdbSrc单元开始,它包含创建一个ADOQuery(可以根据需要进行更改),然后为该组件创建一个连接字符串。从那里我使用查询来执行任务并将它们加载到对象中。

你的例子是客户,例如有一个名称字段,可能还有年龄和性别字段。因此,您将创建一个封装了以前字段的客户类,并在创建对象时使用查询组件从数据库中获取信息。如果你需要特定的编码,只需要问一下,我会解决它。

希望它可以帮助 本:d