AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[TMS] Data Modeler - Aurelius - SQLite

Ein Thema von stahli · begonnen am 3. Jan 2013 · letzter Beitrag vom 6. Jan 2013
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

[TMS] Data Modeler - Aurelius - SQLite

  Alt 3. Jan 2013, 00:16
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?
Miniaturansicht angehängter Grafiken
au1.jpg   au2.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: [TMS] Data Modeler - Aurelius - SQLite

  Alt 3. Jan 2013, 11:46
Fehlt in deiner SQLite-DB vielleicht einfach ein autoincrement?
http://www.sqlite.org/autoinc.html
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: [TMS] Data Modeler - Aurelius - SQLite

  Alt 3. Jan 2013, 12:13
Hatte ich auch versucht, ebenso wie ein einfaches Integer- oder Char-Feld.

Der ORM soll ja offenbar die Id´s erzeugen (jedenfalls ist ein Generator-Attribut angegeben), aber ich bekomme diverse Fehlermeldungen bei unterschiedlichen Versuchen...

Sonst frage ich mal TMS nach, ob die einen Tipp für mich haben (wollte sowiso nochmal wegen dem Grid nachfragen).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: [TMS] Data Modeler - Aurelius - SQLite

  Alt 5. Jan 2013, 19:26
Hmm, ich habe jetzt mal mit dem SQLite-Browser eine Tabelle erzeugt:
- ID: integer primary key
- Name: Text
Wenn ich in dem Browser Zeilen hinzufüge wird ID automatisch incrementiert.

Wenn ich das im Datenexplorer von Delphi tue, dann wird bemeckert, dass ID nicht leer sein darf.

Für mich sieht das so aus, dass DBExpress AutoInc nicht unterstützt und dass Aurelius deswegen Probleme bekommt.

Ich habe mal TMS angefragt. Den Support habe ich bereits als sehr nett und hilfsbereit kennen gelernt
(was man von Emba in anderem Zusammenhang leider nicht sagen kann).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: [TMS] Data Modeler - Aurelius - SQLite

  Alt 6. Jan 2013, 23:10
TMS hat schnell geantwortet:

Zitat:
Hello André,

... But it looks like you are using DBExpress to connect to the SQLite database and if that’s correct, then I must say that DBExpress + SQLite is not supported by Aurelius.
The reason is simply because SQLite driver in DBExpress behaves very differently from the other drivers so it’s currently incompatible with Aurelius.
You can just the native SQLIte driver in Aurelius, or a 3rd party one like AnyDac or UniDac.

If you have more questions, let me know.

Kind regards,
Jetzt habe ich das auch im Manual gefunden (siehe Bild). War also mein Fehler.

Allerdings komme ich auch mit Firebird noch nicht ganz zurecht, das ich zwischenzeitlich getestet hatte. Mal schauen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz