Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL Datenbank Filter- bzw. Suchfunktion (https://www.delphipraxis.net/44670-mysql-datenbank-filter-bzw-suchfunktion.html)

sniffy 22. Apr 2005 15:12

Datenbank: MySQL • Zugriff über: weiss nicht

MySQL Datenbank Filter- bzw. Suchfunktion
 
Hi!

Ich baue gerad ein Tool womit man aus einer Datenbank den Inhalt filtern kann bzw suchen kann und dann ein einer ListBox angezeigt werden soll.

Nur weiss ich nicht rech wie ich das anstellen soll, da die Datenbank sich nicht auf meinem Rechner befindet!
Eine Connection mit der SQLConnection Komponente zu der Datenbank bekomm ich hin aber das wars dann auch.

Für Hilfe wäre ich sehr dankbar!

Gruss
Sniffy

jfheins 22. Apr 2005 15:31

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
SQL-Code:
select feld1,feld2 from tabelle where spaltenname=wert order by spaltenname asc limit 0, 30
:zwinker: musst halt deine such/filterkriterien einbauen, aber ich find' die Syntax sehr intuitiv ...

sniffy 25. Apr 2005 12:34

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit diesen Code will ich auf die Datenbank zugreifen:

Delphi-Quellcode:
     
     Query1.Close;
     Query1.SQL.Clear;
     Query1.SQL.Add('SELECT * FROM mantis WHERE Name like :Suche');
     Query1.ParamByName('Suche').AsString := LowerCase(Edit1.Text);
     Query1.Open;
Bekomm aber folgende Fehlermeldung (als Anhang):

Ich weiss, der Code ist nicht ganz richtig.
Aber wie mach ich das, das das Tool versucht auf dem Rechner im Netzwerk auf die Datenbank zuzugreifen und nicht lokal?
Danke!

Stevie 25. Apr 2005 12:45

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Hi sniffy,

du musst eine TDatabase-Komponente mit deiner Query verbinden und
dort die erforderlichen Verbindungseinstellungen vornehemen.

MfG
Stevie

sniffy 25. Apr 2005 13:48

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Hmm, funktioniert irgendwie net, bzw ich kriegs nich hin :gruebel: . Hat nicht jemand einen Beispielcode?
Wäre sehr nett!

Stevie 25. Apr 2005 14:04

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Beispielcode ist dafür irrelevant.

- Hast du nen MySQL-ODBC-Treiber installiert?
- Hast du einen DB-Alias für deine MySQL-DB angelegt?
- TDatabase-Komponente aufs Form, Rechtsklick und Parameter eintragen

Alternative zu dem [imho]BDE-Schrott[/imho] wären die Zeos-Komponenten,
wo du dir diese Zwischengeschichten sparst.

sniffy 27. Apr 2005 10:00

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
@Stevie
Hab das jetzt gemacht wie du es beschrieben hast.
Läuft auch alles!

Ich habe noch ein DBGrid auf meiner Form.
Mit diesen Code suche ich einen bestimmten String dem DBGrid:
Delphi-Quellcode:
Query1.Locate(ComboBox1.Text,Edit1.Text,[loCaseInsensitive]);
Das Problem ist das ich nur ein Feld damit durchsuchen kann. Ich würde aber gerne direkt die ganze Tabelle durchsuchen ohne das ich vorher definieren muss in welchen Feld duchsucht werden soll!
Wäre nett wenn einer mir helfen könnte bzw. einen Code dafür hätte!

Gruss
sniffy :???:

Stevie 27. Apr 2005 10:17

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Hi sniffy,

mit folgendem Code werden nacheinander alle Felder der Query nach dem Text durchsucht:
Delphi-Quellcode:
i := 0;
while (i < Query1.Fields.Count) and not Query1.Locate(Query1.Fields[i].FieldName,Edit1.Text,[loCaseInsensitive]) do Inc(i);
MfG
Stevie

sniffy 27. Apr 2005 10:35

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Danke!

Klappt, aber wenn ich was anderes ausser Zahlen zum suchen eingebe kommt ne Fehlermeldung das
'abc kein Interwert ist'!

Als was muss i deklariert werden?

Stevie 27. Apr 2005 10:41

Re: MySQL Datenbank Filter- bzw. Suchfunktion
 
Zitat:

Zitat von sniffy
Danke!

Klappt, aber wenn ich was anderes ausser Zahlen zum suchen eingebe kommt ne Fehlermeldung das
'abc kein Interwert ist'!

Als was muss i deklariert werden?

  • Wenn du natürlich ein Integer- oder Float- oder ...-Feld nach einem String durchsuchen willst, dann klappt das natürlich nicht.
    Du solltest also noch eine Überprüfung einbauen, dass nur kompatible Felder durchsucht werden können.
  • als Integer ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr.
Seite 1 von 2  1 2      

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