Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zur Laufzeit neue DB angelegt und zugeordnet (https://www.delphipraxis.net/184742-zur-laufzeit-neue-db-angelegt-und-zugeordnet.html)

Peter-Pascal 17. Apr 2015 20:39

Datenbank: SQLite • Version: 3 • Zugriff über: FireDac

Zur Laufzeit neue DB angelegt und zugeordnet
 
Hallo,

ich habe mir für SQLite eine DB mit einigen Tabellen angelegt und dafür per Livebinding Edit-Felder und Navigatoren eingerichtet, mit denen ich Daten eingege und navigiere.

Jetzt habe ich zur Laufzeit einen neue Datenbank angelegt:
Delphi-Quellcode:
fdconnection1.Connected := true;
fdtablereisender.Active := true;
aber weder die TEdit noch der Navigator funktioniert.
Wenn ich beide TFDConnection und TFDTable zur Entwicklungszeit aktiviere, funktioniert es.

Muss ich für die Zugriffs-Komponenten noch einen Refresh-Befehl geben?

Danke für die Hilfe.

Gruß Peter

jobo 18. Apr 2015 07:38

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Hast Du Erfahrung mit DB sensitiven Komponenten?
Ich selber habe die von Dir genannten Kompos nicht, daher nur allgemeine Ratschläge.

Die visuellen Komponenten müssen miteinander verknüpft sein. Also z.B. der Navigator mittels Datasource ans Dataset gebunden sein, so wie das Grid ans Dataset gebunden ist.

Wie gesagt unter Vorbehalt, ich bin da nicht auf dem neuesten Stand.

Sir Rufo 18. Apr 2015 08:59

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Die beiden Zeilen Code zeigen weder dass es funktionieren sollte, noch dass es nicht funktioniert. Eigentlich zeigen diese gar nichts. Ob zur Laufzeit eine neue Datenbank oder eine existierende Datenbank benutzt wird, dann sorgen diese nur dafür, dass eine Verbindung hergestellt wird.

Wenn eine neue Datenbank erstellt wird, dann enthält diese weder Daten noch eine Struktur (Tabellen, etc.). Diese Struktur muss aber vorhanden sein. Wie bringst du denn die Struktur in diese neue Datenbank?

Peter-Pascal 18. Apr 2015 12:36

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Hallo Jobo,

das ist ja das Sonderbare, die Komponenten sind mit ein anderverbunden. Die Aktivierung zur Entwicklungszeit gestartet funktionieren sie, sobald ich aber die zur Laufzeit die Verbindung und die Tabelle aktiviere reagieren die Komponenten nicht.

Hallo Sir John,

vielleicht habe ich mich nicht konkret ausgedrückt, es war gestern schon spät und ich hatte bereits einige Stunden mit dem Problem verbracht. Das was Du vermutest sollten die Zeilen auch nicht zeigen, ob eine DB dranhängt.
Mein Problem:
Ich habe eine funktionierende DB zur Entwicklungszeit mit Komponenten (TEdit usw.) per Livebindung verbunden. Sowohl die TFDConnection als auch dei TFDtable auf aktiv gesetzt und alle meine Komponenten zeigen brav den Inhalt der DB an.
Sobald ich sowohl TFDConnection als auch TFDTable auf false setze und zur Laufzeit (das sollte der Code zeigen) aktiviere, funktionieren die Komponenten nicht mehr.

Perlsau 19. Apr 2015 06:00

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Überprüfe doch einmal zur Laufzeit, ob eine Verbindung zur Datenbank besteht, und gebe das Resultat in einem TLabel aus. Dann wäre dieser Teil schonmal erledigt.

Peter-Pascal 21. Apr 2015 13:23

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Hallo,
die Verbindung zur DB steht. Das habe ich gleich am Anfang getestet. Und das ist ja gerade das Sonderbare. Zur Laufzeit habe ich eine Tabelle angelegt und gefüllt. Diese Daten bekomme ich auch wieder angezeigt mit TLabel.

Schlimmer noch, wenn ich ein völlig neues Programm schreibe, dann funktioniert es. Zur Entwicklungszeit die Livebindings angelegt, dann zur Laufzeit eine DB und alles aktiviert und es zeigt die Daten an.

Ich mach jetzt alles neu. Irgenwo muss da ein Fehler sein, aber ich finde ihn nicht. Ich habe aber bereits mehrfach merkwürdige Fehlermeldungen von den Livebindings bekommen. Auch wenn ich glaubte nichts geändert zu haben.

Hat eigentlich jemand bereits ein Programm mit FireMonkey und Livebindungs fertig und veröffentlicht?

Danke

himitsu 21. Apr 2015 13:57

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
Zitat:

Zitat von Peter-Pascal (Beitrag 1298682)
Hat eigentlich jemand bereits ein Programm mit FireMonkey und Livebindungs fertig und veröffentlicht?

http://www.delphipraxis.net/181829-l...bjectlist.html
War fast fertig und kurz vor Abschluß stellten sich die LiveBindings und bissl was anderes Kleines quer.

Ich müsste mal nachschauen, aber ich glaub in XE8 wurde es nicht repariert (nix in der Bugfix-Liste gesehn), also kann ich warten und mir den Kauf des Bugfixes erstmal sparen.

Peter-Pascal 21. Apr 2015 15:41

AW: Zur Laufzeit neue DB angelegt und zugeordnet
 
und Firemonkey? nutzt das jemand oder sollte man generell bei den VCL bleiben?

Es ist schon etwas enttäuschend, in der Werbung heißt es mit wenigen Mausklicks zu Geschäftsprogrammen zu kommen und bislang hat bei mir alles deutlich länger gedauert, mit vielen unerklärlichen Fehlermeldungen. Ich wollte nur ein kleines Programm für Reisekosten schreiben und dabei Firemonkey, FireDac und Livebindings kennenlernen. Und mich auch wieder in SQL einarbeiten. Letzteres hat geklappt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 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