Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Struktur in eine leere Datenbank einrichten mit ADO? (https://www.delphipraxis.net/196781-struktur-eine-leere-datenbank-einrichten-mit-ado.html)

haentschman 20. Jun 2018 12:34

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Liste der Anhänge anzeigen (Anzahl: 5)
Script erstellen:

1. siehe Bilder (nur Struktur)
2. ggf. Default Datensätze als INSERT in das Script integrieren (Achtung! ggf. Indentities (sprich Autoinc. Werte) anpassen)
...Fertsch.

Nachtrag:
Zitat:

Wie ist das dann mit Delphi, wenn ich die ADO-Connection aktiviere, liest es dann die Struktur automatisch oder muss ich den ADO-Komponenten nochmal alles erklären?
...nein. Das sollten die Komponenten mitkriegen. Du mußt nur die Connection verbinden.

HINWEIS:
Zitat:

ADO-Connection aktiviere
Niemals im Objektinspektor sondern zur Laufzeit!

p80286 20. Jun 2018 13:53

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Zitat von SearchBot (Beitrag 1405323)
Wie ist das dann mit Delphi, wenn ich die ADO-Connection aktiviere, liest es dann die Struktur automatisch oder muss ich den ADO-Komponenten nochmal alles erklären?

Wie meinst Du das?
Natürlich mußt Du in Deiner Query die benötigten Tabellen und Felder nochmals angeben.
a la
SQL-Code:
select Name
from tab1 join tab2 (tab1.id=tab2.tab1_id)
where Stadt='Hamburg'
Gruß
K-H

SearchBot 20. Jun 2018 14:31

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Zitat von p80286 (Beitrag 1405334)
Zitat:

Zitat von SearchBot (Beitrag 1405323)
Wie ist das dann mit Delphi, wenn ich die ADO-Connection aktiviere, liest es dann die Struktur automatisch oder muss ich den ADO-Komponenten nochmal alles erklären?

Wie meinst Du das?

Weil ich ja am Anfang entdeckt habe, daß ich da...
Zitat:

Ich vermute, daß ich da was mit TADODataSet machen kann?
Dort finde ich FieldDefs und dort wieder ChildDefs und die kann ich weiter zur Entwurfszeit zusammenklicken - aber ist das der richtige Weg, werden die dann so automatisch gespeichert...?
Oder muss ich das mit TADOCommand.Commandtext und SQL-Befehlen machen?
Wenn die dann beim Connect angelegt werden, wäre ich schon froh.
Klar, die Querys muss ich dann über SQL machen, aber so weit bin ich ja noch nicht :lol:

Zitat:

Zitat von haentschman (Beitrag 1405325)
1. siehe Bilder (nur Struktur)
2. ggf. Default Datensätze als INSERT in das Script integrieren (Achtung! ggf. Indentities (sprich Autoinc. Werte) anpassen)
...Fertsch.

:thumb: Danke, das ist ja richtig tutorial!

Zitat:

Zitat von haentschman (Beitrag 1405325)
HINWEIS:
Zitat:

ADO-Connection aktiviere
Niemals im Objektinspektor sondern zur Laufzeit!

Geht aber, warum niemals? :|

haentschman 20. Jun 2018 14:47

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Geht aber, warum niemals?
Dann wärst du der Einzige den Spagat zwischen Auslieferung und Enwicklungsumgebung hinkriegt. :zwinker:

Ganz grob...
Stell dir vor du entwickelst auf deinem Laptop. Der Datenbank Zugang liegt in einer INI (Datenbank auf Laufwerk F für die Auslieferung). Die Connection Properties sind im Objektinspector eingetragen (Datenbank auf Laufwerk X des Laptops) und Active auf True gesetzt.
Was passiert? Deine Anwendung grinst dich mit einem Fehler an obwohl in der INI das Laufwerk F eingetragen ist. Ursache: Mit dem Laden der Connection Komponente (Datenmodul Create ect.) wird die Connection auf True gesetzt und die Datenbank auf dem verkehrtem Laufwerk (anderer Computer) gesucht. :? An diesem Zeitpunkt ist die INI noch gar nicht geladen...

...deshalb NEVER Active auf True zur Designzeit. :stupid:

TigerLilly 20. Jun 2018 15:07

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Zitat von haentschman (Beitrag 1405346)
...deshalb NEVER Active auf True zur Designzeit. :stupid:

Naja. Richtig muss es heißen: Kein Compile/Build mit Active=True. Denn natürlich muss man um zB Feldefinitionen auszulesen oder zu aktualisieren die Datenbank im Entwurfsmodus connecten. Aber + da hast du recht - das darf nicht drin bleiben. Bei den GExperts gibt es einen Experten, der das unterstützt, der setzt für zB TDataset vor dem compile connected auf false.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 Uhr.
Seite 2 von 2     12   

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