2010-08-05 41 views
4

有沒有辦法使用Delphi 7中的數據庫中的數據持久化業務對象? 是否有可能不使用組件。德爾福7持久性業務對象

+0

DORM框架剛剛出來。你也可以看看這個。但我想這不適用於Delphi 7 ...源代碼尚不可用,但這個概念很有趣。 http://www.delphifeeds.com/postings/71550-sneak_preview_about_dorm_the_delphi_orm – 2010-09-01 08:53:30

回答

3

您可以使用我們的開源ORM框架,使用SQLite3數據庫。完整的RESTful框架,可在本地(即處理中)工作,或通過HTTP/1.1,命名管道或GDI消息遠程工作。沒有外部DLL需要。與德爾福7一起工作到2010年。

所有沒有任何組件,直接從源代碼完成。所有數據庫SQL都是從類發佈的屬性創建的。

例如,一桌人在Delphi代碼定義如下:

/// table used for the Babies queries 
TSQLPeople = class(TSQLRecord) 
    private 
    fName: RawUTF8; 
    fAddress: RawUTF8; 
    fBirthDate: TDateTime; 
    published 
    property Name: RawUTF8 read fName write fName; 
    property Address: RawUTF8 read fAddress write fAddress; 
    property BirthDate: TDateTime read fBirthDate write fBirthDate; 
end; 

你還可以用代碼訪問您的數據是這樣的:

var People: TSQLPeople; 
    ID: integer; 
begin 
    // create a new record, since Smith, Jr was just born 
    People := TSQLPeople.Create; 
    try 
    People.Name := 'Smith'; 
    People.Address := 'New York City'; 
    People.BirthDate := Now; 
    ID := Client.Add(People); 
    finally 
    People.Free; 
    end; 
    // retrieve record data 
    People := TSQLPeople.Create(Client,ID); 
    try 
    assert(People.Name='Smith'); 
    finally 
    People.Free; 
    end; 
end; 

http://blog.synopse.info/category/Open-Source-Projects/SQLite3-Framework

1

hcOPF與Delphi 7一起工作。事實上,它是使用Delphi 7開發的,因此不使用某些較新的語言功能。在sourceforge上檢查一下。