有没有办法在Delphi 7中使用数据库中的数据来保持业务对象的持久性? 是否可以不使用组件。
答案 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上查看。