AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "Intelligente" Suche in Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

"Intelligente" Suche in Datenbank

Ein Thema von Gambit · begonnen am 23. Aug 2004 · letzter Beitrag vom 23. Aug 2004
Antwort Antwort
Seite 2 von 2     12   
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#11

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 13:42
Ich will sie aber nicht anzeigen sondern etwas damit tun.
Mit:
s:= Query.FieldByName('Titel').AsString; bekomme ich nur den ersten Datensatz der gefundenen Datensätze. Wie bekomme ich bei 3 gefundenen Datensätzen den zweiten und dritten Datensatz zu fassen?

Einfacher kann ichs nicht erklären...

Gambit
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#12

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 13:50
Aha, query.next bezieht sich auch auf RecordSets, darüber hatte ich noch nicht nachgedacht...
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#13

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 14:03
Hi,
wenn ich dich jetzt richtig vertehe ist die Lösung wahrscheinlich gar nicht so schwer.

SQL-Code:
$result = mysql_query("SELECT * FROM table2 WHHERE Titel LIKE 'Arielle%'");
while($data = mysql_fetch_array($result)) {
/* die schleife wird jetzt so oft durchlaufen bis kein ergebnis mehr gefunden wird */
/* du kannst also deine Überprüfungen mit $data[titel] durchführen und gleich bei einem Trefffer die restlichen Infos aus $data eintragen */
}
Hoffe das hilft dir weiter!


mfg Niels
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#14

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 14:34
Hmm, liest sich ja erstmal ganz gut...ich verstehe nur am Source nicht so ganz diese Dollarsymbole, sind das nicht Compilerdirektiven? So direkt übernehmen kann ich den Code doch wohl nicht, oder?

Gambit
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#15

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 14:40
Zitat von Gambit:
Hmm, liest sich ja erstmal ganz gut...ich verstehe nur am Source nicht so ganz diese Dollarsymbole, sind das nicht Compilerdirektiven? So direkt übernehmen kann ich den Code doch wohl nicht, oder?

Gambit
Das ist ein PHP Code
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#16

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 14:59
achso, die Delphi Variante sollte dann wohl etwas anders aussehen. Hatte mich schon arg gewundert...

Gambit
  Mit Zitat antworten Zitat
Benutzerbild von lume96
lume96

Registriert seit: 14. Sep 2003
Ort: Rognac/Marseille - Frankreich
128 Beiträge
 
Delphi 7 Professional
 
#17

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 15:10
Tschuldigung, da haben wir wohl aneinander vorbei geredet.

Ich hatte nicht kappiert, dass Dein Problem beim einlesen der verschiedenen Ergebnisse liegt.

Da solltest Du doch mit Query.Next; (wie Du selbst schon geschrieben hast) gut weiterkommen. In etwa so

Delphi-Quellcode:
Query.First; //erste Datensatz aus Query
recfound := false; //von Dir angelegter Boolean
repeat
 s:= Query.FieldByName('Titel').AsString;
 if TestObRichtigeString(s) then
  recfound := true
 else
  Query.Next;
until (Query.EOF) or Recfound;


Zitat von Gambit:
Zitat von lume96:
Auf den ersten Blick sieht das hier für mich nach einem "Master-Detail"-schema aus. Sollte das so sein, wäre es auf jeden Fall ratsam, die Relation zwischen Datenbank1 und Datenbank2 durch einen direkten Vergleich Datenbank1.PrimaryKey=Datenbank2.ForeignKey herzustellen.
Ich verstehe jetzt nicht so recht, was mir das bringen könnte.
In Deinem Fall gar nichts. Wollte halt nur darauf hingewiesen haben, dass es besser wäre die Sache über Primary und Foreign Key zu Lösen. Ist klar, dass das, wenn Du schon über 1000 Einträge hast, keine Lösung ist (aber ich wusste ja auch nicht, dass Deine Tabelle schon so viele Einträge hat).

MfG
Lutz
Lutz Meyer
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#18

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 15:36
Naja, ich hatte mich auch nicht sehr glücklich ausgedrückt...deine Lösung würde wohl funzen.

Ich hatte jetzt folgende überlegt:

Delphi-Quellcode:
while not (Query1.EOF) or titlefound do
    begin
      ...
      zQuery1.Next;
    end;
was ja das Gleiche in Grün ist. Ich hatte die ganze Zeit einfach nicht bedacht, dass sich Query.EOF oder Query.Next natürlich auch auf RecordSets anwenden lassen und nicht nur auf Tabellen.

Jetzt weiß ich zumindest, wie ich vorgehen kann.

Ein weiteres wäre jetzt noch zu überlegen, den Suchstring in einzelne Wörter zu zerlegen und dann zu gucken, ob die Wörter in dem Titel von Tabelle 2 enthalten sind, egal in welcher Reihenfolge. Das könnte man vielleicht recursiv lösen?
Aber das ist wohl was für einen neuen Thread...

Besten Dank und Gruß

Gambit
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#19

Re: "Intelligente" Suche in Datenbank

  Alt 23. Aug 2004, 19:46
Zitat von franktron:
Zitat von Gambit:
Hmm, liest sich ja erstmal ganz gut...ich verstehe nur am Source nicht so ganz diese Dollarsymbole, sind das nicht Compilerdirektiven? So direkt übernehmen kann ich den Code doch wohl nicht, oder?

Gambit
Das ist ein PHP Code
Sorry
War wahrscheinlich noch etwas früh (war grad aufgestanden ). Naja da hab ich irgendwie gar nicht an Delphi gedacht und das in php geschrieben. Aber jetzt ist dein Problem ja gelöst

mfg Niels
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:15 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