![]() |
Re: Suchen mit TQuery ?
Wie gesagt dir Lösung dafür findest du in diesem
![]() |
Re: Suchen mit TQuery ?
Hai Vader,
wie ist denn deine Tabelle aufgebaut? Sind das alles (Var)Char Felder oder auch Zahlen usw.? Von Hand würde das so aussehen:
Delphi-Quellcode:
Wobei Du in diesem Fall die Parameter auch in einer Schleife setzen kannst:
begin
Query1.Close; Query1.SQL.Text := 'SELECT * FROM tabelle WHERE (name = :suche) OR (vorname = :suche1) OR (wassweisich = :suche2)'; Query1.ParamCheck := True; Query1.ParamByName('suche').AsString := Edit1.Text; Query1.ParamByName('suche1').AsString := Edit1.Text; Query1.ParamByName('suche2').AsString := Edit1.Text; Query1.Open end;
Delphi-Quellcode:
procedure TDemoForm.Button1Click(Sender: TObject);
var ndx: Integer; begin with Query1 do begin Close; SQL.Text := 'SELECT * FROM tabelle WHERE (name = :suche) OR (vorname = :suche1) OR (wassweisich = :suche2)'; ParamCheck := True; for ndx := 0 to Params.Count - 1 do // Alle Parameter durchlaufen begin Params[ndx].AsString := Edit1.Text; // und aufgrund des indexes zuweisen end; end; end; |
Re: Suchen mit TQuery ?
Da könntest du mit dem SQL Syntax "like" arbeiten.
SQL-Code:
Select * from Table where Vorname like %:parSuchbegriff % or Nachname like % :parSuchbegriff or ....
Das % - Zeichen dient alls Joker wie in der Windowssuche der * mit dem Syntax "or" der steht für "oder". Ich hoffe das hilft dir weiter lg Bundy |
Re: Suchen mit TQuery ?
Zitat:
ich glaube! dein Code hat einen kleinen Fehler? Du hast immer den selben Parameternamen verwendet. ParamByName wird dir aber immer den erstgefunden TParam zurück geben und darum die beiden nächsten nicht mit dem Wert füllen. |
Re: Suchen mit TQuery ?
Zitat:
[edit]liegt das an Paradox, das es nicht funktioniert? Habs gerade mit FB getestet hier funktioniert die mehrfache Verwendung des gleichen Parameters.[/edit] |
Re: Suchen mit TQuery ?
super, danke!
ich weiß ich bin lästig, aber jetzt wenn ich diese suche starte:
Delphi-Quellcode:
dann zeigt er mir nur den gesuchten datensatz im DBGrid an, das ist ja auch gut so,aber wie zeige ich wieder
procedure TForm1.Button8Click(Sender: TObject);
begin Query1.Close; Query1.SQL.Text := 'SELECT * FROM adressen WHERE (Nachname = :suche) OR (Vorname = :suche1) '; Query1.ParamCheck := True; Query1.ParamByName('suche').AsString := Edit1.Text; Query1.ParamByName('suche1').AsString := Edit1.Text; Query1.Open end; alle daten im DBGrid an ??? mfg vader |
Re: Suchen mit TQuery ?
Die WHERE-Clause wieder entfernen, also
SQL-Code:
SELECT * FROM adressen;
|
Re: Suchen mit TQuery ?
herlichen dank !
ich muß sagen das mit tquery + sql-code gefällt mir besser als ttable ! aber, bei der suche:
Delphi-Quellcode:
muß ich genau den namen schreiben ( groß,klein, ganzen namen ausschreiben ) damit der datensatz gefunden wird !!
procedure TForm1.Button8Click(Sender: TObject);
begin Query1.Close; Query1.SQL.Text := 'SELECT * FROM adressen WHERE (Nachname = :suche) OR (Vorname = :suche1) '; Query1.ParamCheck := True; Query1.ParamByName('suche').AsString := Edit1.Text; Query1.ParamByName('suche1').AsString := Edit1.Text; Query1.Open end; bei ttable gibts den code:
Delphi-Quellcode:
da brauche ich nur den ersten buchstaben eingeben und schon findet er was, wie geht das bei tquery ?
procedure TForm1.Button6Click(Sender: TObject);
var suche: string; begin suche:= edit1.Text; query1.Locate('Nachname', suche, [loCaseInsensitive,loPartialKey ]); end; mfg vader |
Re: Suchen mit TQuery ?
Verwende LIKE und %
|
Re: Suchen mit TQuery ?
hallo mkinzler,
hab's so probiert aber funzt nicht, wenn ich die suche starte sind alle daten weg ?
Delphi-Quellcode:
mfg vader
procedure TForm1.Button10Click(Sender: TObject);
var suche: string; begin Query1.Close; Query1.SQL.Text := 'SELECT * FROM adressen WHERE Nachname like :suche OR Vorname like :suche'; Query1.ParamCheck := True; Query1.ParamByName('suche').asString := 'Edit1.Text'; Query1.Open ; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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 by Thomas Breitkreuz