Delphi 7持久的业务对象

时间:2010-08-05 14:51:40

标签: delphi

有没有办法在Delphi 7中使用数据库中的数据来保持业务对象的持久性? 是否可以不使用组件。

2 个答案:

答案 0 :(得分:3)

您可以使用我们的开源ORM框架,使用SQLite3数据库。完整的RESTful框架,在本地(即在进程中)工作,或通过HTTP / 1.1,命名管道或GDI消息远程工作。无需外部dll。适用于Delphi 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 :(得分:1)

hcOPF适用于Delphi 7.事实上,它是使用Delphi 7开发的,因此不使用某些较新的语言功能。在sourceforge上查看。