2013-10-03 41 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