Delphi 7持久业务对象

Tim*_*ear 5 delphi

有什么方法可以使Delphi 7中的数据库中的数据与业务对象保持一致?是否可以不使用组件。

A.B*_*hez 3

您可以使用我们的开源 ORM 框架,使用 SQLite3 数据库。完整的 RESTful 框架,可在本地工作(即在进程中),或通过 HTTP/1.1、命名管道或 GDI 消息远程工作。无需外部 dll。适用于 Delphi 7 直至 2010 年。

一切都是在没有任何组件的情况下直接从源代码完成的。所有数据库 SQL 都是从类发布的属性创建的。

例如,在Delphi代码中定义了一个People表,如下所示:

/// 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;
Run Code Online (Sandbox Code Playgroud)

您可以使用如下代码访问您的数据:

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;
Run Code Online (Sandbox Code Playgroud)

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