![]() |
Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Hallo Community,
ich bräuchte eine relativ kleine und einfache LOKALE Datenbank, mit etwa folgenden Eigenschaften: - KEINE Client-Serveranwendung, - KEINE SQL-Abfragen, sondern einfacher indexsequentieller Zugriff - Primär für Windows 32-Bit-Anwendungen (später evtl. 64-Bit), - Lizenzfreie Benutzung, - ca. 10 verknüpfte Tabellen, - Relativ wenig Daten je Tabelle: maximal 500 – 800 Datensätze, - Relativ wenig Datenfelder je Tabelle: 5 – 15 Felder, - Gespeicherte Datentypen: Extended, Integer, ShortString, evt. kleine Graphiken, - alle Zugriffe & die komplette Datenbankanwendung sollen in die EXE oder DLL gelinkt werden können, - Relativ einfacher Zugriff von Delphi aus, Ich benutze Delphi XE5 Professional. Welche Datenbank sollte ich dazu verwenden? Gibt es irgendwo ein für Delphi XE geeignetes Tutorium oder eine Art aktuelle Programmier-Anleitung? Für Tipps, Hinweise & Empfehlungen wäre ich sehr dankbar! Gruß Andreas |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Moin...:P
Zitat:
Zitat:
|
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Warum kein SQL? Das macht das Leben doch leichter.
Man kann natürlich mit z.B. Clientdatsets abeiten, das sind nur Tabellen die man laden oder speichern kann. Wenn doch etwas SQL sein darf, dann SQLite oder Firebird oder.. |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Da fällt mir z.B.
![]() Statt
Delphi-Quellcode:
schreibt man
Query1.Sql.Text := 'SELECT I.ID AS INVOICE_ID, I.INVOICE_TYPE, I.INVOICE_NO, I.ISSUE_DATE, I.PRINT_DATE, ' +
'C.ID AS CUSTOMER_ID, C.CUSTOMER_NAME, C.SEX, C.BIRTHDAY, N.ID AS COUNTRY_ID, N.COUNTRY_NAME' + 'FROM INVOICE AS I INNER JOIN CUSTOMER AS C ON (C.ID = I.CUSTOMER_ID) ' + 'LEFT JOIN COUNTRY AS N ON (N.ID = C.COUNTRY_ID)' + 'WHERE I.ID = :INVOICE_ID;' Query1.ParamByName('INVOICE_ID').AsInteger := 1; Query1.Open; ShowMessage(Format('Invoice No: %d, Customer: %s, Country: %s', [Query1.FieldByName('INVOICE_NO').AsInteger, Query1.FieldByName('CUSTOMER_NAME').AsString, Query1.FieldByName('COUNTRY_NAME').AsString]));
Delphi-Quellcode:
Ich wüßte jetzt nicht, warum SQL hier das Leben einfacher machen sollte, es geht ja auch ohne (das SQL im Vordergrund auftaucht)
Invoice := Manager1.Find<TInvoice>(1);
ShowMessage(Format('Invoice No: %d, Customer: %s, Country: %s', [Invoice.InvoiceNo, Invoice.Customer.Name, Invoice.Customer.Country.Name])); |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Kein SQL, Kein Multiuser-Zugriff?
Wieso dann überhaupt "Datenbank"? Dann würde ich die Daten als XML-Datei speichern. Bei der Datenmenge ist selbst XML schnell genug. |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
...bei nicht kommerzieller Nutzung ist NexusDb Embedded kostenfrei ohne Quelltext. Kann natürlich mehr als du eigentlich willst/brauchst aber erfüllt sonst alle deine Ansprüche.
SQLite sollte aber auch gehen. cu cg |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Zitat:
|
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Zitat:
es geht ja auch ohne (das SQL im Vordergrund auftaucht heißt: Ja, irgendwo wird da mit SQL gewerkelt, aber ich bekomme bei der Programmierung davon nichts mit |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
Hi Andreas
Zitat:
![]() Damit könntest du deine Datenbank und deren Tabellen entwerfen. Frag mich aber nicht, ob mit der Personal-Edition auch Beziehungen zwischen den Tabellen erstellt werden können - ich benutze das Ding nur, um die Tabellen, die ich per Code mit Delphi erstellt habe, anzuzeigen. SQLite findest du ![]() ![]() ![]() Gruss Delbor |
AW: Einfache lokale Datenbank – bitte um Entscheidungshilfe!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz