Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Access DB Beispielprogramm ? (https://www.delphipraxis.net/16770-access-db-beispielprogramm.html)

Manu-ela 23. Feb 2004 10:28


Access DB Beispielprogramm ?
 
HAllo @ all,

also ich bin seit einiger Zeit schon begeisterte "mitleserin" hier in der DP.
Nun ist es soweit, dass ich selbst nicht mehr weiter komme.
Ich soll nämlich in der Nächsten Woche ein Programm für die Arbeit schreiben,
aus welchem ich auf eine Access DB zugreifen muss.
Muss also über den Namen suchen und zu dem Namen dann bestimmte Daten nutzen, also weitergeben können.

Habe mir schon einige Tutorials angeschaut. Vor allen Dingen die hier
http://delphi-source.de/tutorials/index.php?cat=6

Das HIER hat bis jetzt z.B. auch gut geklappt.
Kann die Verbindung zur DB herstellen und wieder schliessen.
Nun bekomme ich es aber leider absolut nicht hin, mir Datensätze rauszusuchen und diese weiter zu verarbeiten.

Nun hier meine vielelicht etwas ungewöhnliche Frage:
Könnte einer von euch, für den das bestimmt nur ein Klacks ist, vielleicht liebenswürdigerweise ein BeispielProgramm zu meinem Problem coden und hier veröffentlichen ?

Kann ja was ganz allgemeines sein, dass jeder nachher zum lernen nutzen kann. Also, vielelicht dann auch auf eine DB, die jeder hat zugreift.
Denke da z.B. an die 'Nordwind.mdb', die ja bei Access, mein ich, immer als Sample dabei ist.
Es muss ja nichts Supertolles sein. Vielelicht nur, dass man aus der 'Bestellungen'-Tabelle nach der Firma sucht und über ein Showmessage den 'Ort' ausgibt. Dann weiss man, wie man sucht, es wieder ausgibt (z.B. DBGrid, Lsitbox oder ComboBox) und es weiterverwenden kann.


Es wäre spitze, wenn jemand sowas machen könnte. Ich hoffe, dass das nicht zu dreist ist, da es ja der Allgemeinheit dient und in Zukunft vielleicht schonmal vorab viele Fragen klärt :wink:

Mit der Hoffnung auf positive und konstruktive Antworten, :mrgreen:

*knuddel* eure Manu-ela

sakura 23. Feb 2004 12:37

Re: Access DB Beispielprogramm ?
 
Anbei das Beispiel mit Northwind (erstellt mit Delphi 7). Du musst wahrscheinlich den ConnectionString der ADOConnection noch anpassen.

...:cat:...

P.S.: Schön auch zu lesen von den Lesern ;-)
P.P.S.: Das Update des Codes ist weiter unten nochmals...

mikhal 23. Feb 2004 12:50

Re: Access DB Beispielprogramm ?
 
Hast du dir auch die Tutorien "Datenbankeinstieg", "DB für Fortgeschrittene" angesehen?
Dort findest du die grundlegenden Techniken, wie du an deine Daten kommst und wie du sie darstellst.

Bei Access und ADO rate ich dir aber sofort, dich mit SQL und den Komponenten TAdoQuery bzw. TAdoDataset auseinanderzusetzen.

Über SQL bist du wesentlich flexibler, wenn es darum geht, Daten zu filtern und zu suchen.

Zu deinem Beispielproblem: Erstelle in der Nordwind-Datenbank eine neue Abfrage mit folgenden Tabellen Bestellungen und Kunden.
Doppelklick auf das Feld Ort und das Feld Firma in der Tabelle Kunden. Im Datengitter das Häkchen bei Firma entfernen (die Anzeige benötigst du nicht). In der Zeile Kriterien unter Firma gibst du folgendes ein: "= :P_FIRMA". Wenn du jetzt im Menü unter "Ansicht" den Menüpunkt "SQL" auswählst, erhältst du folgendes SQL-Statement:
SQL-Code:
SELECT Kunden.Ort
FROM Kunden INNER JOIN Bestellungen ON Kunden.[Kunden-Code] = Bestellungen.[Kunden-Code]
WHERE (((Kunden.Firma)=":P_Firma"));
Dieses SQL-Statement kannst du kopieren und in einer TAdoQuery im ObjektInspektor in der Eigenschaft SQL einfügen. Anschließend wählst du die Eigenschaft Parameters aus und markierst den Parameter P_FIRMA. Unter Value.Type wählst du den Type String aus. Jetzt kannst du in deinem Quelltext den Parameter mit folgendem Code übergeben:
Delphi-Quellcode:
var
  s: String;
...
s := 'Around the Horn';
AdoQuery.Parameters.ParamByName('P_FIRMA').AsString := s; // Parameter setzen
if AdoQuery.Active then // AdoQuery bereits offen?
  AdoQuery.Requery // Ja, Abfrage erneut durchführen
else
  AdoQuery.Open; // Nein, Abfrage öffnen
ShowMessage('Ort der Firma ' + s + ': ' + AdoQuery.FindField('Ort').AsString); // Ergebnis ausgeben
...

Grüße
Mikhal

[edit=sakura] Doppelpost ganz gelöscht ;-) Mfg, sakura[/edit]

sakura 24. Feb 2004 16:42

Re: Access DB Beispielprogramm ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Noch einmal das Beispiel (2 Monitor Korrektur ;-))

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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