Delphi-PRAXiS
Seite 2 von 2     12   

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)

mkinzler 16. Jul 2009 17:39

Re: Bitte um Empfehlung...
 
Ja. Auf den Rechnern muss der Client vorhanden sein entwder installiert oder ins Verzeichnis kopiert.

Alfredo 16. Jul 2009 17:45

QL
 
Zitat:

Aber was mache ich, wenn mir mein NAVI zwei verschiedene Richtungen ansagt? :wink:
Angeben wo es lang gehen soll :)

Bei IBExpert muss ein anderer übernehmen, da ich damit keine Erfahrung habe.

Du kannst Dir später, wenn Dir die Grundlagen geläufig sind, eine DB-Komponente
aussuchen, die dir besser liegt. Der Ablauf ist bei den anderen Herstellern meist
ähnlich.

Du wirst im Laufe der Zeit merken, das Delphi dir ein gutes Grundgerüst zur Ver-
fügung stellt, mehr jedoch nicht. Wenn Du einmal ein Datagrid von DevExpress
genutzt hast wirst Du verstehen was ich meine.


Gruß
Alfred

Alfredo 16. Jul 2009 18:01

Re: Bitte um Empfehlung...
 
Wichtig bei Firebird ist, dass die Tabelle ein Feld hat, dass als Primarykey
gekennzeichnet ist und NOT NULL hat. Wenn sich kein Feld anbietet, ein Feld
mit einer LFDNR verwenden.

Gruß
Alfred

Alphacodex 16. Jul 2009 18:02

Re: Bitte um Empfehlung...
 
So die Datenbanktabellen sind mittels IB Expert jetzt soweit angelegt...
@Alfredo: Ja das habe ich gemacht: Jede Tabelle hat ein ID-Feld (Integer) mit einer laufenden Nummer die von einem Generator erzeugt wird. Richtig so?

Steht also nur noch die Entscheidung aus, mit welchem Zugriff ich von Delphi aus auf die Datenbank zugreife. Interbase Express würde ich ja gerne nehmen...ich finds aber wie gesagt nicht. Habe eigentlich alles mitinstalliert, was bei Delphi 2009 dabei war...


Grüße
Codex

mkinzler 16. Jul 2009 18:08

Re: Bitte um Empfehlung...
 
IBX befindet sich in D2009 im Bereich "Interbase"

Alfredo 16. Jul 2009 18:10

Re: Bitte um Empfehlung...
 
Die Trial von SQLDirect ist kostenlos und ohne Begrenzung.
Nur beim Start ein Hinweis.

Was hält dich davon ab? Wir wären schon längst fertig :wink:

IBDAC von Devart gibt es auch als Trial, ist aber zeitlich
begrenzt.

Gruß
Alfred

Alphacodex 16. Jul 2009 18:15

Re: Bitte um Empfehlung...
 
Naja, wäre halt besser ohne Hinweis, das soll ja dann an alle Mitarbeiter verteilt werden und dann kriegen die bei ihren Clients ständig alle den Hinweis, dass wir ein Shareware-Programm benutzen... find ich irgendwie nicht so dolle. Und die Preise sind etwas hoch für so eine kleine Anwendung, wie ich sie vorhabe...

Hmmm... Ich hatte irgendwie so die Hoffnung Delphi installieren und los gehts... ;-)


Grüße
Codex

mkinzler 16. Jul 2009 18:19

Re: Bitte um Empfehlung...
 
Zitat:

Die Trial von SQLDirect ist kostenlos und ohne Begrenzung.
Nur beim Start ein Hinweis.
Und IBX ist bei Delphi dabei!

Alfredo 16. Jul 2009 18:24

Re: Bitte um Empfehlung...
 
Wir diskutieren um "einmalig"

149$ für SQLDirect

100$ für IBDAC

235€ für FibPlus(Hansa will bei Sammelbestellung noch einen kleinen
Rabatt aushandeln, wenn es nicht bei 2 Leuten bleibt)


Du hast heute schon mehr Geld verbraten :-D

Also wenn Du jetzt unter Delphi INTERBASE gefunden hast, dann hat
Dein NAVI eine neue CD eingelegt und kann das jetzt auch. :wink:

Gruß
Alfred

Alphacodex 16. Jul 2009 18:31

Re: Bitte um Empfehlung...
 
Also Interbase habe ich gefunden, die anderen Vorschläge übergehe ich aber auch nicht einfach. Wenn Geld dafür verfügbar ist, und an die Grenzen von Interbase stoße, werde ich halt eins von den anderen Paketen besorgen.

Aber ich bin schon wieder bei der nächsten roten Ampel ;-)

Sobald ich eine Interbase Komponente in mein Prog ziehen will mekcert er, er könne die gds32.dll nicht finden. Ist das die gleiche gds32.dll die früher bei Firebird dabei war und jetzt fbclient.dll heisst? Muss ich für Interbase auch nochmal irgendwas zusätzlich installieren?


Sorry Leute...ist für mich echt ne Odysee das Ganze, aber ich bin Euch für die Hilfe sehr dankbar...

Grüße
Codex

Alfredo 16. Jul 2009 18:33

Re: Bitte um Empfehlung...
 
TibDatabase

TibTransaction

TibQuery


und aus Datenzugriff Datasource

und ein Grid auf das Formular ziehen.

Gruß
Alfred

mkinzler 16. Jul 2009 18:35

Re: Bitte um Empfehlung...
 
Kopiere die fbclient.dll als gds32.dll

Alfredo 16. Jul 2009 18:39

Re: Bitte um Empfehlung...
 
Bei mir steht die unter windows/system32/

Gruß
Alfred

mkinzler 16. Jul 2009 18:41

Re: Bitte um Empfehlung...
 
Das ist eine Option des Installers, eine Kopie als gds32.dll ins Systemverzeichnis zu kopieren.

Alfredo 16. Jul 2009 18:43

Re: Bitte um Empfehlung...
 
Bin gespannt ob unser Geisterfahrer heute noch die Autobahn verläßt :-D

Gruß
Alfred

Alphacodex 16. Jul 2009 18:46

Re: Bitte um Empfehlung...
 
Juhuuuu! Geht...

Die Geburt scheint geschafft... Vielen Dank Euch allen...

Könnt ihr mir noch einen Tip geben wie ich von hier an selbst weiterkomme? Ein Tutorial oder so, mit meinem alten Büchern kann ich wohl außer den Grundprinzipien nicht mehr viel anfangen.

- als nächstes steht wohl an: eine Verbindung von Delphi zur Datenbank herstellen
- dann evtl. mal die Daten aus der Datenbank in ein DelphiGrid einlesen
- als nächstes mal Schreibzugriffe auf die DB machen


Viele Grüße
Codex


@Alfredo: Ja ich gebe zu das kommt bestimmt so rüber - aber glaub mir ich bin normalerweise nicht besonders langsam von Begriff - hab mich halt vor heute noch nie mit Datenbanken beschäftigt und das Ganze ist ja offensichtlich nicht ganz straight - in sofern würde als Metapher statt Autobahn eher Djungelpfad passen... hehe

Alfredo 16. Jul 2009 18:50

Re: Bitte um Empfehlung...
 
was geht denn?

Gruß
Alfred

Alfredo 16. Jul 2009 18:55

Re: Bitte um Empfehlung...
 
Hast Du im TIBQuery schon einen SQL-Befehl eingetragen?

Gruß
Alfred

Alphacodex 16. Jul 2009 19:01

Re: Bitte um Empfehlung...
 
@Alfredo

Habe alle beschriebenen Komponenten reingezogen und auf Active gestellt, dann hat er nach User und Passwort gefragt und sich erfolgreich mit meiner Datenbankdatei verbunden. Für mich heute schon ein echter Erfolg!!


Nein habe noch keinen SQL-Befehl in Query eingetragen. Ist das die Vorraussetzung dafür, die Daten z.B. im TMSAdvStringgrid darzustellen?


Grüße
Codex

mkinzler 16. Jul 2009 19:02

Re: Bitte um Empfehlung...
 
http://www.delphi-treff.de/tutorials...ken/interbase/
www.ibphoenix.com

Alphacodex 16. Jul 2009 19:10

Re: Bitte um Empfehlung...
 
Super... dann fresse ich mich mal da durch...

Vielen Dank an Alle, ich fahr mal für heute auf die Raststätte ;-)

Viele Grüße
Codex

Alfredo 16. Jul 2009 19:13

Re: Bitte um Empfehlung...
 
Der Schlüssel zum Datenbank programmieren mit Delphi
liegt im IBQuery1. und den anderen Namensvettern.

Nach dem Punkt warten, dann kommt alles was man eingeben kann.

IBQuery1.Active = False;
IBQUERY1.SQL.TEXT = "select * from mytable orderby name";
IBQUERY1.Active = True;

Im onclose des Formulares nicht vergessen

IBQUERY1.APPLY.UPDATES zu setzen.

Im Grid muss stehen update where changed.

Die SQL-Befehle im Internet suchen oder ein sich ein
SQL Grundlagenbuch besorgen.

Die Bible für firebird stammt von Helen Borrie. Mehr gibt es
leider nicht auf dem Markt. Ich habe es mir aber auch noch
nicht gekauft.

Die Malingliste für Firebird mitzulesen schadet ebenfalls nicht.

Gruß
Alfred

Alfredo 16. Jul 2009 19:19

Re: Bitte um Empfehlung...
 
Zitat:

Nein habe noch keinen SQL-Befehl in Query eingetragen. Ist das die Vorraussetzung dafür, die Daten z.B. im TMSAdvStringgrid darzustellen?

Ja.

z.B. select * from mytable


reicht für das erste.

Dann die Datasource mit IBQuery1 verbinden
und dann die Datasource mit dem Grid verbinden,

aber nicht mit dem Stringrid sondern mit
TdbADvGrid


Gruß
Alfred

mkinzler 16. Jul 2009 19:21

Re: Bitte um Empfehlung...
 
Zitat:

z.B. select * from mytable


reicht für das erste.
Aber nur fürs Erste. Man sollte dann ziemlich schnell beginnen das Ergebnis einzuschränken:

SQL-Code:
select <Feldliste> from <Tabelle> where <Bedingung>;
@Alfredo: Bitte nicht Pushen.

fkerber 16. Jul 2009 19:52

Re: Bitte um Empfehlung...
 
Hi!

Auch wenn das auf Seite 5 seltsam erscheint: :mrgreen:
Könntest du bitte durch Editieren des ersten Beitrags einen etwas aussagekräftigeren Titel wählen?

Danke!


Grüße, Frederic

Alfredo 16. Jul 2009 19:59

Re: Bitte um Empfehlung...
 
Zitat:

@Alfredo: Bitte nicht Pushen.
:gruebel:


Ich bin mir keiner Schuld bewußt.

Wenn Du auf #62 und #63 anspielst, dann hat das seine Ursache im zeitlichen Ablauf.
Heißt ich habe für meine Ausführungen zu #62 zu lange gebraucht, so dass die
anderen mir zuvor gekommen sind.


Gruß
Alfred

mkinzler 16. Jul 2009 20:07

Re: Bitte um Empfehlung...
 
Zitat:

Zitat von Alfredo
Zitat:

@Alfredo: Bitte nicht Pushen.
:gruebel:


Ich bin mir keiner Schuld bewußt.


Gruß
Alfred

Siehe #42/#43, #57/#58, #62/#63

Alfredo 16. Jul 2009 20:28

Re: Bitte um Empfehlung...
 
Ich bin da vielleicht etwas zu viel Jurist. Aber #43 war ein zusätzlicher Gedanke
und ich wollte die ursprüngliche Information nicht verändern.

Des weitern habe ich das Problem, das mir schon 2x längere Gedanken verschwunden
sind, wenn diese rote Information erscheint(in diesem Fall sitzt wohl das Problem
vor dem Monitor).

Einen längere Ausführung an diejenigen anzupassen, die posten bevor ich fertig bin
ist natürlich auch eine zeitliche Komponente.

Den Zeitaufwand für dieses Thema heute kann ich mir beruflich eigentlich gar nicht
leisten.

Ich werde deinen Hinweis in meinen zukünftigen Anworten mit berücksichtigen.

Gruß
Alfred

mkinzler 16. Jul 2009 20:34

Re: Bitte um Empfehlung...
 
Wenn du Ergänzungen zu einem Beitrag hast, kannst du den letzten ja einfach editieren.

Stevie 17. Jul 2009 07:56

Re: Bitte um Empfehlung...
 
Auch wenn nun schon alle auf Firebird eingeschossen sind - evtl wäre ein Blick auf SQL Server CE interessant (funktioniert ähnlich wie FB embedded). Man kann ohne Probleme mit ADO darauf zugreifen und die DB mit dem Management Studio Express verwalten.

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 23:10 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz