Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Interbase + Daten anzeigen (https://www.delphipraxis.net/43599-interbase-daten-anzeigen.html)

StoRmtec 6. Apr 2005 11:48

Datenbank: Interbase • Version: 6.5 • Zugriff über: IB Kompo

Interbase + Daten anzeigen
 
Hallo

Und zwar stehe ich wieder vor einen Problem.
Und zwar ich habe eine Tabelle die heißt Produkte.
Da habe ich einemal

ID Produkt Bezeichnung Datum

drinnen.
So jetzt habe ich eine Form wo dann alle DBEdit damit belegt sind.
Kann auch neue Sachen einfügen löschen bearbeiten.
So wenn ich jetzt zb auf die ID gehe und ich möchte zb 10 eingeben dann möchte ich das er mir die ganzen Daten was in 10 hinterlegt sind in den DBEdit angezeigt werden.
Das bringe ich leider nicht hin. Vielleicht kann mir ja einer von euch helfen.

Danke im Voraus.

Mfg
StoRmtec

kiar 6. Apr 2005 12:12

Re: Interbase + Daten anzeigen
 
Delphi-Quellcode:
select * from Producte Where ID = 10
das in eine Query und in einem event deines DBedit auswerten.

beispiele solltest du in der DP finden.

raik

StoRmtec 6. Apr 2005 12:14

Re: Interbase + Daten anzeigen
 
Hallo

Danke aber die 10 ist nicht immer gleich.
Und wo finde ich das Beispiel habe da nichts gefunden zu meiner Frage.

Ich bin nämlich ganz neu in der DB Programmierung.

Wie mach ich die Query.

mfg
StoRmtec

kiar 6. Apr 2005 12:21

Re: Interbase + Daten anzeigen
 
hallo stormtec,

du solltest schon die suche benutzen, da steht alles drin.

das du nicht nur die 10 als id ist schon klar, :wink: .


raik

Jelly 6. Apr 2005 12:23

Re: Interbase + Daten anzeigen
 
Zitat:

Zitat von kiar
Delphi-Quellcode:
select * from Producte Where ID = 10
das in eine Query und in einem event deines DBedit auswerten.

beispiele solltest du in der DP finden.

raik

Wie kiar geschrieben hat, nur würde ich kein DBEdit sondern ein einfache Editfeld nehmen.

Was du vor hast, ist im Grunde eine Suche in der Datenbank. Das kannst du zum Beispiel mittels der erwähnten SQL Abfrage machen, oder du nutzt die Locate Methode deines Datasets.

Im OnChange Event deines Editfeldes (ich nenns man txtID) würd ich dann folgendes schreiben:
Delphi-Quellcode:
with Query do begin
   close ;
   sql.text := format ('select * from Producte Where ID = %s',[txtID.text]) ;
   open ;
end ;

Hansa 6. Apr 2005 12:25

Re: Interbase + Daten anzeigen
 
Lasse dich nicht verwirren durch das Wort "query". Heutzutage gibts quasi nur Datasets. Nehme ein TIBDataset und dann folgendes :

Delphi-Quellcode:
Produkttabelle.Close;
Produkttabelle.SelectSQL.Text := '<Select von Kiar>';
Produkttabelle.open;
Das Dataset muß allerdings auch wissen, wie es die grundlegenden Operationen durchführen muß, wie die DB heißt usw. ! Du kannst also nicht einfach so mal die 3 Zeilen da irgendwo hinschreiben und dann erwarten, daß das reicht !! Ansonsten, wie kiar sagt : suchen. Gehe mal auf Lemmy's Seiten und lade dir da die Tutorials über IB runter: www.delphi-tutorials.de

StoRmtec 7. Apr 2005 06:45

Re: Interbase + Daten anzeigen
 
Hallo

Danke das mit der Artikelnummer anzeigen funktioniert.
Jetzt meine Frage könnte man das dann in der Edit auch noch machen wenn man die
ArtNr. nicht weiß das man dann zB die Bezeichnung eingibt und er nach der sucht.

mfg
StoRmtec

Jelly 7. Apr 2005 10:07

Re: Interbase + Daten anzeigen
 
Zitat:

Zitat von StoRmtec
Jetzt meine Frage könnte man das dann in der Edit auch noch machen wenn man die
ArtNr. nicht weiß das man dann zB die Bezeichnung eingibt und er nach der sucht.

Natürlich kann man das. SQL ist eine mächtige Sprache. Du musst dafür lediglich deine Abfrage anders formulieren, z.B.

SQL-Code:
select * from produkte where bezeichnung like '%MeinSuchArtikel%' order by bezeichnung
Bedenke aber, daß du bei der Suche über die ID auch nur einen Artikel findest. Dein Ergebnis ist also eindeutig, und das was du in den DBEdit Feldern siehst, entspricht dem Gewünschten. Die Bezeichnung ist aber unbedingt eindeutig... Suchst du z.B. nach Apfel, kriegst du Apfelessig und Apfelwein als Ergebnismenge. Daher empfiehlt es sich noch, ein DBGrid deiner Ergebnismenge anzuzeigen, wo dann noch zwischen Apfelessig und Apfelwein ausgewählt werden kann.

StoRmtec 7. Apr 2005 11:45

Re: Interbase + Daten anzeigen
 
Hallo

Danke.
Aber wie kann ich dann auch noch automatisch nach der ID suchen.
Weil zur zeit sind nur so 20 sachen drinnen wenn aber dann mehr drinnen
sind weiß ich aber nicht mehr die ID. Muss ich dann das einfach
weglasen das ich gleich nach der Bezeichnung suche oder kann ich nach
ID und Bezeichnung gleich suchen lassen.

mfg
StoRmtec

Hansa 7. Apr 2005 12:21

Re: Interbase + Daten anzeigen
 
Was hat die ID mit der Bez. zu tun ? Die dient nur zu internen Zwecken und sollte erst recht nicht angezeigt oder gar vom User manipuliert werden können. Willst du die gefundenen DS anzeigen und dies in Reihenfolge ihrer Art.Nr. (nicht ID !!) dann so :

SQL-Code:
SELECT * FROM ART WHERE BEZ LIKE %SUCHBEGRIFF% ORDER BY NR
Hatte ich dir das nicht schonmal gezeigt ? :gruebel:


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