Delphi 7持久化业务对象

5
有没有办法在Delphi 7中将业务对象与数据库数据进行持久化,而不使用组件呢?

DORM框架刚刚发布。您也可以看一下这个,但是我猜它不适用于Delphi 7...源代码还没有公开,但概念很有趣。 http://www.delphifeeds.com/postings/71550-sneak_preview_about_dorm_the_delphi_orm - A.Bouchez
2个回答

3
你可以使用我们的开源ORM框架,使用SQLite3数据库。完全符合RESTful框架,可以在本地(即进程内)或通过HTTP/1.1、命名管道或GDI消息远程工作。无需外部dll。适用于Delphi 7到2010。
所有操作均无需组件,直接从源代码实现。所有数据库SQL都是从类发布属性创建的。
例如,People表在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。该网站与SQLite3框架相关。

1

hcOPF 可以与 Delphi 7 兼容。实际上,它是使用 Delphi 7 开发的,因此不使用一些较新的语言特性。在 sourceforge 上查看它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接