AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mit welchen Datenbankkomponenten afangen?
Thema durchsuchen
Ansicht
Themen-Optionen

Mit welchen Datenbankkomponenten afangen?

Ein Thema von DualCoreCpu · begonnen am 4. Jan 2019 · letzter Beitrag vom 10. Jan 2019
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#31

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 14:48
Access ist sicherlich nicht so wirklich das Wahre, wenn es um richtig professionelle Software geht oder man richtig viele Daten hat.

Wenn man aus Delphi heraus programmiert und beim Erstellen von Tabellen ... sich an den SQL-Standard hält, dann geht das wunderbar. nimmt man aber die Accessoberfläche und klickt sich da was zusammen, wird es (für meine Begriffe) recht schnell absonderlich.

Aber ein Vorteil ist auch: Wenn man sich beim Üben und Lernen "verzockt" hat, schmeißt man die Datei weg, läßt sich 'ne neue Machen und fängt nochmal an.

Zeit für den Neuanfang: 2 Minuten? Oder weniger?

Zum Lernen und Probieren käme ich nie auf die Idee, mir erstmal 'nen Datenbankserver zu installieren, diverses Komponenten zu kaufen ...

Erstmal nur die "Hausmittel" und die hat man für die Datenbankentwicklung nunmal mit dem Betriebssystem und Delphi alle.

Wenn man den Umgang damit kapiert hat, kann man sich mit wenig Aufwand in die professionellen Werkzeuge einarbeiten und hat auch schon das Knowhow, um eine zielgerichtete Auswahl von Datenbank und Zugriffskomponenten zu treffen.

Zum Schreibenlernen in der Schule brauchten wir keinen Füller von Montblanc mit Goldfeder und Tintenfass, die einfachen von Pelikan mit Patronen taten es auch.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#32

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 14:53
Bei SQLite oder FireBird embedded muss man keinen Server installieren.
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#33

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 15:03
Nein, aber schon wissen, wo die passenden DLLs ... hinmüssen.

Man muss was installieren, was noch nicht auf dem System vorhanden ist.

Und mit reinen Delphihausmitteln und nur Windows ist es da dann eben auch schon nicht mehr gemacht.

ADO und Access u. a. auch wegen

Zitat von vor 'ner Stunde weiter oben:
Man braucht keinen Download von was auch immer, keine Registrierung, wo auch immer, keine Installation von was auch immer ...
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#34

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 15:12
Man muss was installieren, was noch nicht auf dem System vorhanden ist.

Und mit reinen Delphihausmitteln und nur Windows ist es da dann eben auch schon nicht mehr gemacht.
FireDAC und SQlite => einfach so mit Delphihausmitteln
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#35

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 20:09
Aaaalso, ich habe jetzt DBeaver installiert und damit eine Firebird Verbindung aufgebaut. Bei anderen Verbindungen fragt DBeaver nach einem Datenbankdriver. Woher weiß ich den?

Nun will ich aber mit DBeaver auch ein Datenbanktabelle aufbauen. Ich habe noch nie mit SQL gearbeitet, brauche dafür erst mal eine Doku der SQL Anweisungen plus Programmbeispiele.

Ich brauche zum Anfang eine Datenbanktabelle. Wie kann ich die erstellen. Eine Komponente, die so eine Tabelle nicht nur lesen, sondern auch schreiben kann, wäre hilfreich. IBExpert kann ich nicht runter laden, weil die Registrierung nicht klappt auf der IBExpert Webseite. Da habe ich mich nun für DBeaver entschieden, kriege aber immer noch keine Datentabelle. Wozu ist da der Felder Editor von TTable & Co gut? Wenn ich nun noch die Datentabelle schreiben könnte, falls sie noch nicht existiert, wäre mir ja auch geholfen.

Bei Delphi 7 und niedriger gab es mal die Datanbankoberfläche.Dort konnte ich Datenbanktabellen anlegen, die Felder definieren und konnte die dann mit den Delphi Komponenten verwenden.DBeaver macht das nicht fr mich. Welche Möglichkeiten gibt es da noch. Außer SQL lernen müssen. Das braucht zu viel Zeit. Und auch außer ein Delphi 7 nur wegen der Datenbankoberfläche installieren.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#36

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 9. Jan 2019, 21:08
Du gehst auf die Firebird Connection und drückst F3, damit öffenest Du einen leeren SQL Editor, trägst ein Table Create Statement und lässt das laufen. Danach kannst Du unter der Connection/Tabellen Deine neue Tabelle finden.

Hier ist Doku
https://firebirdsql.org/refdocs/lang...ate-table.html

Woher Du neue Verbindungen weißt? Versteh die Frage nicht. Du hast ein System auf deinem Rechner oder remote, mysql, firebird, postgres, ..
wählst das aus, baust die Verbindung auf, Treiber werden automatisch nachgeladen.
Gruß, Jo
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#37

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 10. Jan 2019, 08:42
Danke, so weit. Ich entnehme dieser Doku, das die Anweisung Create Table überladen ist, um mit unterschiedlichen Parametersätzen arbeiten zu können.

Ich habe jetzt diese SQL Anweisung:

SQL-Code:
CREATE TABLE mediadb (
   mediakind varchar(3) NOT NULL,
   author varchar(30) NOT NULL,
   mediatitle varchar(30),
   musictitle varchar(40)
   )
Für's Erste sollen die Felder:

mediakey für Medienart (CD,DVD,MC,LP)

author für Filmregisseur oder Musiker

title für Filmtitel oder Name des Mediums (Pink Floyd, Wish you
were here). Es gab mal eine Langspielplatte dieses
Musikers mit diesem Namen.

musictitle
für den Namen des einzelnen Musikstückes


reichen.

Da beginnt schon die später notwendige Schaffung der Normalform der Datenbank. Zuerst aber will ich überhaupt erst mal eine Datenbanktabelle haben.

Ich habe jetzt die Komponenten:

DataSource1

IBDatabase1 mit defaultTransaction = IBTransaction1

IBTransaction1 mit DefaultDatabse = IBDatabase1

IBSQL1 mit Database = IBDatabase1, Transaction =
IBTransaction1


IBDataSet1 mit Database = IBDataBase1 und Datasource =
DataSource1

und 4 DBEdit Komponenten auf meinem Formular, die mit DataSouce1 verbunden sind.

Noch immer aber lassen sich keine Felder mit den DBEDit Komponenten verbinden. Als DataBaseName in der Komponente TIBDatabase habe ich mein SQL-Script verwendet, das ich nach obiger Anleitung mit DBeaver erstellt habe.

Habe auch in IBSQL meine CREATE TABLE Anweisung noch mal rein geschrieben. Auch das führt nicht zum Erfolg.

Was muss ich da noch machen?

Geändert von mkinzler (10. Jan 2019 um 09:39 Uhr) Grund: Fehlerhaften Delpi-Tag durch SQL-Codetag ersetzt
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#38

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 10. Jan 2019, 08:58
Hast Du den DBEdits auch die zugehörigen Felder der Tabelle zugewiesen?

Meist DataField (oder so ähnlich) genannt. Du musst jedem dieser Felder eines Deiner im Create aufgeführten Felder zuweisen.

Die Querykomponente hat (vermutlich) eine Methode Open bzw. ein Attribut Active. Entweder im Objektinspektor Active auf true setzen, dann wird die Query beim Programmstart automatisch geöffnet oder "irgendwo" im Programmcode die Methode Open aufrufen.

Die Databasekomponente hat ebenfalls eine Methode zum Öffnen bzw. ein Attribut, dass Du im Objektinspektor setzen kannst. Auch hier musst Du für das Öffnen sorgen.

Dann muss Deine SQL-Komponente auch ein SQL haben, meist das Attribut SQL, im Objektinspektor für gewöhnlich als Stringliste mit 'nem Editor erreichbar. Da muss ein SQL rein, z. B.
Code:
select * from mediadb
Dieses SQL wird beim Öffnen der Abfragekomponente ausgeführt und sorgt dafür, dass die Datenbankkomponenten mit Inhalt gefüllt werden.

Um durch die Datenmenge scrollen zu können, solltest Du Dir noch 'nen TDBNavigator auf das Formular legen und den mit der DataSource verbinden.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#39

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 10. Jan 2019, 09:03
Du solltest Dir vielleicht doch mal ein Datenbank Tutorial anschauen.

SQL bietet verschiedene Befehlsgruppen an
DDL = Data Definition Language
DML = Data Manipulation

usw.

Create Table ist ein DDL Statement. Es wird einmalig ausgeführt, z.B. in DBeaver.
Dann braucht man weils praktisch ist ein paar Testdaten, wir brauchen DML, also hier Insert Statements. Wieder in DBeaver wie gesagt per Insert Statement oder Editieren von Datensätzen, wie Du es von früher kennst. Am Ende hoffentlich in Deiner Anwendung selbst.

Also
- Create einmalig extern
- Insert so oft Du willst, extern
- Dann Verdrahtung der Komponenten in Delphi

Die SQL Kompo enthält dann nicht das Create Statement (Tabelle ist schon in der Datenbank), sondern ein Select Statement.
Code:
select *|<KommaseparierteFeldliste> from <meineTabelle>
Gruß, Jo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#40

AW: Mit welchen Datenbankkomponenten afangen?

  Alt 10. Jan 2019, 09:11
Hallo,
Zitat:
Wenn ich nun noch die Datentabelle schreiben könnte
Das lass erst mal weg und lege die Tabelle mit DBeaver an.
Wie das geht, steht in der Hilfe des Programmes.

Sollte es einen SQL-Editor geben, hast du dein SQL ja bereits:
CREATE TABLE mediadb (
mediakind varchar(3) NOT NULL,
author varchar(30) NOT NULL,
mediatitle varchar(30),
musictitle varchar(40)
)

Um ein SQL-Tutorial kommst du nicht rum.
Auch in diesem Forum gibt es mehrere davon.
Fang an zu lesen und bei Unklarheiten frage einfach.
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 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