Ich teste gerade mal etwas das TMS-Framework...
Ich habe mit dem Data Modeler eine SQLite-Datenbank erzeugt, da mir das am schlankesten erscheint (Bild1).
Dann erzeuge ich aus dem Modell entsprechende Klassen:
Delphi-Quellcode:
...
[Entity]
[Table('Job')]
[Id('FId', TIdGenerator.IdentityOrSequence)]
TJob = class
private
[Column('Id', [TColumnProp.Required, TColumnProp.NoInsert, TColumnProp.NoUpdate])]
FId: integer;
[Column('Name', [], 40)]
FName: Nullable<string>;
public
property Id: integer read FId;
property Name: Nullable<string> read FName write FName;
end;
...
Zur Laufzeit wird ein Manager erzeugt und per Button ein Job-Objekt hinzugefügt.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Left := 0;
Top := 0;
// SQLConnection1 is a dbExpress TSQLConnection component
// You can use several different data-access component libraries
MyConnection := TDBExpressConnectionAdapter.Create(SQLZipJob, false);
DBManager := TDatabaseManager.Create(MyConnection);
DBManager.BuildDatabase;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Job: TJob;
Manager: TObjectManager;
begin
Job := TJob.Create;
Job.
Name := TimeToStr(Now);
Manager := TObjectManager.Create(MyConnection);
try
Manager.Save(Job);
// Error !!!
// JobId := Job.Id;
finally
Manager.Free;
end;
end;
Beim Speichern gibt es einen Fehler (siehe Bild 2).
Mir gelingt es nicht, ein funktionsfähigen Primary Key zu definieren (habe verschiedene Feldtypen versucht).
Kann jemand helfen?