Delphi-PRAXiS
Seite 8 von 8   « Erste     678   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Welche Datenbank und welcher Zugriff? (Upd:Firebird per IBX) (https://www.delphipraxis.net/137216-welche-datenbank-und-welcher-zugriff-upd-firebird-per-ibx.html)

Alphacodex 17. Jul 2009 09:26

Re: Bitte um Empfehlung...
 
@Stevie: Danke für den Tip, ich denke ich bleibe aber jetzt nachdem es soweit geht mal vorerst bei IBX und Firebird. Wenn ich in Zukunft mal mehr Erfahrung habe probiere ich sicher auch mal mit anderen Kombis rum...


Bei einer Sache könnte ich noch etwas Licht im Dunkel brauchen und zwar der Zweck und die Zusammenhänge der Komponenten. Leider steht in den Tutorials meist nur "und nun diese Komponente und nun diese, und nun dies einstellen und nun das" - leider nicht warum und was es bewirkt und wie es zusammenhängt. Ich schreib mal wie weit ich es verstanden habe.

- TIBDatabase: Quasi die Schnittstelle zwischen dem Server, der die Datenbank bereitstellt und Delphi

- TIBDataSet: keinen Plan was die genau macht und womit sie zusammenhängt
- TIBDataSource: Irgendeine Art zentraler Vermittler zwischen TIBDatabase und den weiteren Komponenten (genauer Sinn ist mir nicht ganz klar)
- TIBTransaction: Irgendein zwischengeschalteter (wo?) Mechanismus der Zugriffe von mehreren Usern gleichzeitig priorisiert (genauer Zusammenhang ist mir auch noch unklar)

- TIBQuery: Abfragekomponente um ein Subset an Daten aus der Datenbank zu sammeln (aber auf welche Komponente greift die zu? Direkt auf TIBDatabase?)
- TIBAdvGrid: Gitter zum darstellen der Daten, die von TIBQuery zur Verfügung gestellt werden?

- TDBEdit usw.: Komponenten über die der User Daten eingibt die dann irgendwie automatisch mit der Datenbank verknüpft sind (worauf genau greifen die zu und wohin schreiben die?)

Meine Literatur hält ich leider zu diesem Zusammenhängen auch recht vage... Aber genau das ist doch Grundlagenwissen das man zwingend braucht um diese ganze Datenbankgeschichte unter Delphi zu verstehen. Ich verspreche dass ich, falls ich das Ganze irgendwann mal durchschaue ein übersichtliches Flowchart mit den Zusammenhängen und Funktionen dieser Komponenten mache, das würde jedem Einsteiger enorm helfen...


Grüße
Codex

mkinzler 17. Jul 2009 10:29

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Zitat:

TIBDatabase: Quasi die Schnittstelle zwischen dem Server, der die Datenbank bereitstellt und Delphi
Schnittstelle zu einer Datenbank

- TIBDataSet: keinen Plan was die genau macht und womit sie zusammenhängt
Zitat:

- TIBDataSource: Irgendeine Art zentraler Vermittler zwischen TIBDatabase und den weiteren Komponenten (genauer Sinn ist mir nicht ganz klar)
Schnittstelle zwichen einem DataSet und einer dataware-Komponente
Zitat:

- TIBTransaction: Irgendein zwischengeschalteter (wo?) Mechanismus der Zugriffe von mehreren Usern gleichzeitig priorisiert (genauer Zusammenhang ist mir auch noch unklar)
Kapselt eine Transaktion. Mehrere Befehle werden so zusammengefasst, welche entweder alle ausgeführt (comit) oder verworfen (rollback)
werden. Unter IB/FB läuft jede Abfrage in einer Transaktion.
Zitat:

- TIBQuery: Abfragekomponente um ein Subset an Daten aus der Datenbank zu sammeln (aber auf welche Komponente greift die zu? Direkt auf TIBDatabase?)
Kapselt eine Abfrage abwärtskomatibel zu TQuery der BDE. Besser ist es aber gleich ein DataSet zu verwenden.
Zitat:

- TIBAdvGrid: Gitter zum darstellen der Daten, die von TIBQuery zur Verfügung gestellt werden?
Von einem DataSet (T<xx>Query, T<xx>Table, T<xx>DataSet)
Zitat:

- TDBEdit usw.: Komponenten über die der User Daten eingibt die dann irgendwie automatisch mit der Datenbank verknüpft sind (worauf genau greifen die zu und wohin schreiben die?)
Diese werden mit Hilfe einer DataSource mit einem DataSet und einem Feld daraus verknüpft

Alphacodex 17. Jul 2009 11:12

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Ok, also...

Die Database ist die Schnittstelle zur physikalischen Datei. Danach wird die Transaction geschaltet, die alle Zugriffe auf diese Datenbank steuert und überwacht. Dahinter ist dann das DataSet, das quasi ein virtuelles Abbild der Daten aus der Datenbank in Delphi darstellt und alle Zugriffe an die Transaction weiterleitet. Darauf greift wiederum die DataSource zu, auf die man nun mit verschiedenen anderen Komponenten zugreifen, z.B. einer Abfrage (Query) oder einem Grid oder Edit-Feldern.

Soweit richtig verstanden?



P.S. Wenn ich mein Projekt so wie oben beschrieben kompiliere bekomme ich eine Division durch Null. Ich habe mal zur Sicherheit einen Datensatz eingetragen, die Datenbank enthält also einen Eintrag und ist nicht leer. Der Division durch Null Fehler kommt auch schon zur Entwicklungszeit, wenn ich die DataSet-Komponente auf active stellen will.


Danke und Grüße
Codex

mkinzler 17. Jul 2009 11:29

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Zitat:

Soweit richtig verstanden?
Nicht ganz.

Eine TIBDatabase ermöglicht den Zugriff auf eine Datenbank ( Diese kann auch aus mehreren Dateien bestehen
)

Mit einer Datenbank können mehrere DataSets verknüpft sein. Ein DataSet kann sowohl ein TIBQuery, eine TIBTable oder ein TIBDataset sein.

Ein DataSet ist mindestens einer TIBTransaction zugeordnet. Einer Transaktionskomponente kann mit mehreren DataSets verknüpft sein.

Komponenten, welche Daten anzeigen (z.B. Ein DBGrid, ein DBEdit o.ä) werden mit Hilfe einer DataSource mit einem DataSet verknüpft.

Alphacodex 17. Jul 2009 11:46

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Verstehe...

Query ist dann klar, aber was ist der Unterschied zwischen der TIBTable und TIBDataSet Komponente? Geschmackssache oder sind die für verschiedene Anwendungen?


Btw, ich will Euch echt nicht über Gebühr nerven, mir würde auch ein guter Tip reichen, wo ich mir genau solche Sachen anlesen kann.

Ich erwarte nicht, dass ihr mir zu jeder Datailfrage Eure Zeit opfert... Ich werde dieses Forum sicher auch noch brauchen, wenn ich auf "echte" Probleme bei der Datenbankprogrammierung stoße... (wie evtl. z.B. die Division durch 0, wenn ich das DataSet auf active stellen will)

Habe auch schon einige Tutorials durchgemacht, nur leider sind die oft nach dem Fernsteuer-Prinzip aufgebaut, d.h. sie sagen einem Schritt für Schritt was man tun soll, aber nicht warum und was der Hintergrund ist. Mein Delphi Buch ist da leider auch ähnlich aufgebaut, ne echte Erklärung wie z.B. die einzelnen Komponenten zusammenhängen und wofür die genau sind, muss man da auch zwischen den Zeilen herauslesen...

Grüße
Codex

IBExpert 17. Jul 2009 11:48

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
noch ein paar basics damit der nächste bei den ersten Schritten vielleicht auch schneller zum Erfolg kommt:
http://ibexpert.net/ibe/index.php?n=Doc.IBExpert
(oder hier teilweise in deutsch http://www.ibexpert.net/ibe_de/index...=Doku.IBExpert)

und hier auch noch IBExpertLive Videos
http://ibexpert.net/ibe/index.php?n=Doc.IBExpertLive
Da sind auch deutsche Videos zu den kompletten Firebird Grundlagen dabei (001-061)

mkinzler 17. Jul 2009 12:01

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Zitat:

Zitat von Alphacodex
Verstehe...

Query ist dann klar, aber was ist der Unterschied zwischen der TIBTable und TIBDataSet Komponente? Geschmackssache oder sind die für verschiedene Anwendungen?

Ein TIBTable sollte man bei einem "richtigen" DBMS nicht verwenden ( ist eine Query
SQL-Code:
select * from <Tabelle>;
). Ein TIBQuery ist auch nur aus Kompatibilitätsgründen vorhanden.
[/quote]

http://www.delphi-treff.de/tutorials...bank-einstieg/
http://www.delphi-treff.de/tutorials...tgeschrittene/

Alphacodex 17. Jul 2009 23:04

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Hallo Leute,


Dank Eurer tollen Starthilfe läuft meine Firebird-Datenbank jetzt auf Hochtouren! Nochmals ein Danke an alle - ihr habt ein Bier bei mir gut.


Den letzten Fehler mit der Division by Zero habe ich selbst gelöst - war ein Bug in einer Interbase Komponente, den ich behoben habe (siehe anderer Thread)


Viele Grüße an alle
Codex

P.S. Ich hoffe ich darf trotzdem bei Problemen nochmal das Forum konsultieren. Ich denke ich werde meine Erfahrungen auch mal in irgendeiner Form Turorial für andere Anfänger aufbereiten...

mkinzler 18. Jul 2009 08:33

Re: Welche Datenbank und welcher Zugriff? (Upd:Firebird per
 
Zitat:

P.S. Ich hoffe ich darf trotzdem bei Problemen nochmal das Forum konsultieren.
Natürlich, dafür ist dieses Forum ja da
Zitat:

Ich denke ich werde meine Erfahrungen auch mal in irgendeiner Form Turorial für andere Anfänger aufbereiten...
Das wäre ein echt netter Zug! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.
Seite 8 von 8   « Erste     678   

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