Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Datenbank] Gestaltung, Realisierung, Programmierung (https://www.delphipraxis.net/39516-%5Bdatenbank%5D-gestaltung-realisierung-programmierung.html)

Aike 3. Feb 2005 19:07


[Datenbank] Gestaltung, Realisierung, Programmierung
 
Hallo, Leute,

ich hab hier eine große Aufgabe vor mir. Ein Freund fragte mich, ob ich das für ihn programmieren könnte :???: Leider kenne ich mich weder mit SQL, noch mit anderen Arten von DBs aus, bin aber gerne bereit zu lernen und mir Tutorials reinzuziehen. Dennoch will ich hier mal die "Anforderungen" an das Programm oder die Seite oder sonstwas ... schildern :spin2:
  • Ich brauche eine Datenbank oder etwas Ähnliches (txt-Datei etc.), in dem ich eine große Menge Strings (und integer und boolsche Vars) speichern kann.
  • Ich brauche ankreuzbare une Eingabe-Felder
  • Ich muss diese Felder immer für einen einzelnen Tag zur Verfügung haben. Vergangene Tage müssen aufgerufen und die damaligen Werte aufgelistet werden können. Zukünftige Tage entfallen.
  • Passwort geschütztes einloggen (in Delphi kann ich das realisieren)
  • Die Daten eines Tages müssen in einer Tabelle vordefinierten Aussehens gespeichert und ausgedruckt werden können. (Kann ich mir in Delphi gar nicht vorstellen ;))
Das Drumherum kann ich, denke ich, sowohl in Delphi als auch in HTML realisieren.

Wie gesagt, ich kann recht wenig mit DBs anfangen, hab aber schon ein bisschen in MySQLadmin gestöbert. PHP kann ich genauso wenig wie SQL, weil ich nie ein anständiges Tut gefunden hab ;)

Ich dank' euch auf jeden Fall für eure Hilfe :dancer2:

Binärbaum 4. Feb 2005 08:04

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Bevor du mit dem Programmieren anfängst, solltest du dir eine zweckmäßige Datenbankstruktur überlegen. Also welche Daten/ Felder sollen in die DB, wieviele Tabellen brauche ich, usw. ....

MfG
Binärbaum

Sharky 4. Feb 2005 08:08

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Hai Aike,

bevor Du anfängst solltest Du dir überlegen welche DB Du verwenden möchtest. Dafür ist es natürlich wichtig zu wissen welche Delphiversion zu besitzt.

Luckie 4. Feb 2005 12:01

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
also für den mySQL-Datenbakserver habe ich hier, denke ich ein ganz gutes Tutorial verfasst - zumindest hat sich noch niemand beschwert, dass es total danebnen ist. ;)

Aike 4. Feb 2005 13:45

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Mensch, Luckie. Das ist der Hammer ;)

Kann ich denn mit Delphi eine druckbare Tabelle erzeugen, die, sagen wir mal, 30 Spalten und 20 Zeilen hat und ich per Delphi aus dieser DB etwas auslesen und da reinschreiben kann?

btw nutze ich D7Personal

Jelly 4. Feb 2005 14:05

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Hallo Aike,

verwechsel nicht deine Programmbedienung mit der zugrunde liegenden Datenbank.

Erzähl uns doch mal, worum es bei dem Programm geht. Aussagen, wie ich muss ankreuzbare Felder haben, helfen nicht viel um dein Problem zu verstehen.

Aike 4. Feb 2005 14:12

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Es geht darum, täglich durchgefürte Handlungen zu katalogisieren, zu speichern und am Ende des Monats auszudrucken. Darüber muss es möglich sein, aus einer Datenbank "Antworten" auszuwählen, sodass diese in eine Seite bzw. Tabelle eingefügt werden können.

Jelly 4. Feb 2005 14:17

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Ich hab grad gelesen du nutzt Delphi Personal... Da wirst du nicht viel Glück haben, eine Datenbank anzusprechen.

Wie es sich anhört, kommen da also keine Terabyte an daten auf. Ich würd dir mal empfehlen, dir Firebird zu installieren. Das Datenbanksystem sollte deinen Anforderung gerecht werden. Aber das Problem mit Delphi Personal bleibt...

Meine Berichte erstell ich mit der Kompo TEkRTF... Hat den Vorteil daß du deine Ergebnisse in Word öffnen kannst.

Sharky 4. Feb 2005 14:21

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Zitat:

Zitat von Jelly
Ich hab grad gelesen du nutzt Delphi Personal... Da wirst du nicht viel Glück haben, eine Datenbank anzusprechen....

Doch das geht. Macht Luckie doch auch mit mySQL und seiner Personal ;-)

Jelly 4. Feb 2005 14:39

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
OK, das stimmt. Bequem ists aber nicht...

Klappts Luckies Lösung auch bei Firebird, oder funktioniert die nur mit MySQL?

Aike 4. Feb 2005 14:46

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Ich kann eine D5 Enterprise ausleihen. Ein Bekannter nutzt das gewerblich. Würde das weiterhelfen? :)

lume96 4. Feb 2005 15:02

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Moin,

Zitat:

Zitat von Jelly
Klappts Luckies Lösung auch bei Firebird, oder funktioniert die nur mit MySQL?

Wohl eher nicht. Er benutzt eine Übersetzung der C-Header um auf den My-SQL-Server zugreifen zu können. Dadurch entfällt das Problem der nicht vorhandenen DB-Kompos der Personal Edition.

Zitat:

Zitat von Aike
Ich kann eine D5 Enterprise ausleihen. Ein Bekannter nutzt das gewerblich. Würde das weiterhelfen

Damit könntest Du dann z.B. die ZEOS-Kompos benutzen und auf Firebird oder Firebird embedded zugreifen.

Sonst wäre noch SQLite 'ne Alternative. Für kleine Datenbanken klappt das ganz gut und es gibt, glaube ich, Wrapper, die ohne die DB-Kompos auskommen (Rubrik WIKI). Ist natürlich etwas umständlicher in der Benutzung.

Tschüss,
Lutz

Aike 4. Feb 2005 15:20

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Dieses Tutorial ist mir viel zu kompliziert. Da fehlt mir schonmal ein Beispiel, wie ich zu meinem Server verbinden kann.
Delphi-Quellcode:
function Connect(Descriptor: PMYSQL; const Host, User, PW, DB: string; Port:
  Integer): PMYSQL;
begin
  result := mysql_real_connect(Descriptor, PChar(Host), PChar(User), PChar(PW),
    PChar(DB), PORT, nil, 0);
end;
Das ist doch total abgefahren. Was ist denn "Descriptor: PMYSQL"?

Und was ist "mysql_init"?

Jelly 4. Feb 2005 15:28

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Deswegen meinte ich ja, daß das mit Luckie's Lösung ein kompliziertes Unterfangen wird. Nimm die D5 Pro version und kannst bequem über TDataset deine Datenbank ansprechen. (auch auf die Gefahr hin, daß robert mir jetzt irgendwas gegen den Kopf schmeisst :oops: )

TDataset und die datenbezogenen Komponenten lassen dich das Programm aber auf jeden Fall viel schneller entwickleln.

supermuckl 4. Feb 2005 15:29

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Descriptor ist eine Variable vom Typ PMYSQL

wobei ich durch das P an einen Pointer (evtl, der typisiert ist)
denke.

kurz gesagt das handle der connection

wenn du schonmal php programmiert hast, und dort mysql verwendet hast, ist es zu 90% genau so

Aike 4. Feb 2005 15:48

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Ich kann eigentlaich gar nix mit PHP anfangen :(

TDataSet, hm, ...

Meine momentan primäre Frage ist, ob es mir überhaupt etwas bringt, mit Delphi auf die DB zuzugreifen. Wenn ich keine Tabelle erzeugen kann, die ich ausdrucken kann, hat das alles keinen Sinn ;)

Jelly 4. Feb 2005 15:59

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Nochmals... Das Ausdrucken hat nichts mit der Wahl deiner Datenbank zu tun. Dazu benutzt man "Report Generatoren", und davon gibts jede Menge: QuickReport, Rave, List & Labels... Alles teure Pakete, weshalb ich TEkRTF benutze... Google mal danach... Setzt allerdings ebenfalls auf TDataset auf.

Was alle Berichterstellungstools gemeinsam haben, du musst ein Template definieren, wie dein Bericht nachher optisch aussehen soll. Wie das im Einzeln geschieht, ist von Programm zu Programm unterschiedlich. In TEkRTF machst du das z.B. mit Word und speicherst dein Template als RTF ab.

Luckie 4. Feb 2005 16:28

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Zitat:

Zitat von Aike
Dieses Tutorial ist mir viel zu kompliziert. Da fehlt mir schonmal ein Beispiel, wie ich zu meinem Server verbinden kann.
Delphi-Quellcode:
function Connect(Descriptor: PMYSQL; const Host, User, PW, DB: string; Port:
  Integer): PMYSQL;
begin
  result := mysql_real_connect(Descriptor, PChar(Host), PChar(User), PChar(PW),
    PChar(DB), PORT, nil, 0);
end;
Das ist doch total abgefahren. Was ist denn "Descriptor: PMYSQL"?

Und was ist "mysql_init"?

Also noch einfacher geht es nun aber wirklich nicht. Und was du da zitierst IST das Beispiel, wie du dich mit einem Server verbindest. :roll:

Und was "Descriptor: PMYSQL" ist steht doch im Tutorial:
Zitat:

Datenbankbeschreiber | PMYSQL | MYSQL-Struktur
Und was "mysql-init" ist oder besser macht steht auch im Tutorial:
Zitat:

Bevor die Funktion mysql_real_connect aufgerufen werden kann, muss der Datenbankbeschreiber erst mit
Delphi-Quellcode:
mysql_init
initialisiert werden.
Mal eine andere Frage, wie viel Erfahrung hast du schon mit Delphi?

@jelly: Also ich empfinde es nicht als schwer mit dem mySQL-Server und der Persanol zu arbeiten. Da bekommt man wemfalls mit, was im Hintergrund passiert.

Jelly 4. Feb 2005 16:54

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Zitat:

Zitat von Luckie
Da bekommt man wemfalls mit, was im Hintergrund passiert.

Da stimm ich dir 100% zu. Da ich aber ein bequemer Mensch bin, nutze ich immer die TDataset, weils einfach schneller geht. Deine Lösung nutz ich eigentlich schon immer in PHP, und ich fluch jedesmal weils mir immer wieder zu aufwendig ist, wobei ich aber zugestehen muss, daß ich mich in PHP überhaupt nicht zu Hause fühle, sondern mehr oder weniger vor mich hin bastele.

Aber zurück zum Thema... Warten wir mal ab wofür sich Aike entscheidet.

Aike 4. Feb 2005 17:21

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Ich hätte mir ein Beispiel a la
Delphi-Quellcode:
Connect('Irgendwas','localhost','root','pw','testDB',3306)
gewünscht.

Was dieses "Descriptor: PMYSQL" ist, ist mir unerklärlich. Unter einem "Datenbankbeschreiber" kann ich mir nichts vorstellen und habe das auch nicht in der Delphi-Hilfe oder in meinem SQL-Programm finden können. Google kennt 's auch nicht.

Dass man "mysql_init" mit "mysql_init(nil);" aufrufen muss, habe ich nun aus einem anderen Thread von dir erfahren.

btw. programmiere ich seit drei Jahren "hobby-like" und habe zwei Jahre den Informatikkurs in der Schule besucht.

Luckie 4. Feb 2005 19:13

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Zitat:

Zitat von Aike
Ich hätte mir ein Beispiel a la
Delphi-Quellcode:
Connect('Irgendwas','localhost','root','pw','testDB',3306)
gewünscht.

Na dann vergleichen wir doch mal:
Delphi-Quellcode:
function Connect(Descriptor: PMYSQL; const Host, User, PW, DB: string; Port:
  Integer): PMYSQL;
begin
  result := mysql_real_connect(Descriptor, PChar(Host), PChar(User), PChar(PW),
    PChar(DB), PORT, nil, 0);
end;
Und der Aufruf:
Delphi-Quellcode:
Descriptor := Connect(Descriptor, HOST, USER, PW, '', PORT);
Oder wenn du eben die Konstanten nicht magsT:
Delphi-Quellcode:
Descriptor := Connect(Descriptor, 'localhost, 'root', '', '', 3306);
So, wo ist jetzt der Unterschied?

Zitat:

Was dieses "Descriptor: PMYSQL" ist, ist mir unerklärlich. Unter einem "Datenbankbeschreiber" kann ich mir nichts vorstellen und habe das auch nicht in der Delphi-Hilfe oder in meinem SQL-Programm finden können. Google kennt 's auch nicht.
In der Delphi Hilfe wirst du das auch nicht finden. Ich weiß ja nicht, wie du mit Google suchst, aber wenn ich da eingebe Bei Google suchenmysql PMYSQL, dann finde ich sogar Links in die DP (Wenn ich nur auf deutschen Seiten suche.)

Zitat:

Dass man "mysql_init" mit "mysql_init(nil);" aufrufen muss, habe ich nun aus einem anderen Thread von dir erfahren.
Du hast aber schon gemerkt, dass Tutorial und Demo-anwendung zusammen gehören? Und in meiner Demo sieht man, wie es geht. Der entsprechende Code-auszuig ist sogar im Tutorial wiedergegeben:
Delphi-Quellcode:
Descriptor := mysql_init(nil);
Descriptor := Connect(Descriptor, HOST, USER, PW, '', PORT);
if Assigned(Descriptor) then
begin
...
...
Zitat:

btw. programmiere ich seit drei Jahren "hobby-like" und habe zwei Jahre den Informatikkurs in der Schule besucht.
Dann scheinen dir aber noch ziemliche Grundlagen zu fehlen, bzw. scheinst du nicht in der Lage zu sein, dir mal selbst etwas zu erarbeiten. Gehst du mein Tutorial Scxhritt für Schritt druch, solltest du am Ende eine funktioniernde AdressDatenbank haben.

An die anderen: Ist das Tutorial wirklich so schlecht? :shock:

Kernel32.DLL 4. Feb 2005 19:25

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Wenn ich die Frage stelle:

"Wann folgt denn Teil 2?"

Sagt das genug über die Qualität aus?

Da wär noch was: Wo is' denn der 3. Abschnitt?

Luckie 5. Feb 2005 17:33

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Teil zwei ist in Arbeit, ich entwickle gerade die Demo Anwendung und bringe es mir selber damit bei. Ist nämlich auch alles für mich Neuland. Und wenn du meine Threads in der DB Sparte verfolgt hast, wirst du dir auch wohl schon denken können, um was es gehen wird. ;) Rechne mal so mit Mitte, Ende nächster Woche mit Teil 2.

Kapitel drei? Ja das suche ich selber nocht. :mrgreen: Es sollte allgemein etwas um Datenbanken, SQL, Theorie usw. gehen. Ist nur nicht leicht zu schreiben, deswegen habe ich das erstmal hinten angestellt.

Kernel32.DLL 5. Feb 2005 19:39

Re: [Datenbank] Gestaltung, Realisierung, Programmierung
 
Alln's kloar. Keep on writing :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.

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