![]() |
Query-Abfrage
Ich habe eine Tabelle mit 3 Spalten (Stichwort1-Stichwort3).
Wie kann ich mit einem Query alle 3 Spalten auslesen ? Ich habe ein Edit-Feld, wo der Begriff eingegeben werden kann-mit einer Spalte mache ich das so :
Delphi-Quellcode:
In SQL habe ich das mit 3 Spalten so gelöst :
procedure Tanzeigen.BtnTitelClick(Sender: TObject);
begin query1.Filter:='Titel='+QuotedStr(MaskEditTitel.Text); query1.Filtered:=true; DBGrid1.visible:=true; MaskEditTitel.Text:=''; MaskEditTitel.SetFocus; end;
Delphi-Quellcode:
Da ich nun aber Daten direkt editiere in einem separatem Form kann ich das mit SQL so nicht mehr abfragen. Wie muss der Query-Filter heissen ?
SQL_SelectString:= ('select titel as Titel,name as Name,vorname as Vorname,verzeichnis as Verzeichnis from dokumente.db where stichwort1 like"'+estichwort+'" or stichwort2 like"'+estichwort+'" or stichwort3 like"'+estichwort+'"');
Query1.Active:= false; Query1.sql.clear; Query1.sql.add(SQL_SelectString); Query1.Active:= true; DBGrid1.visible:=true; MaskEditStichwort.Text:=''; MaskEditStichwort.SetFocus; Wer kann mir helfen ? Eben, ein Suchtext, alle 3 Spalten abdecken. [edit=r_kerber]Delphi-Tags gesetzt. Mfg, r_kerber[/edit] |
Re: Query-Abfrage
Hi Dinu, welche Datenbank benutzt Du?
|
Re: Query-Abfrage
ich habe die paradox von delphi genommen
|
Re: Query-Abfrage
Also dein Code scheint zu funktionieren, aber ich habe keine Ahnung von ADOQuery/BDEQuery (oder wie die heißen).
Versuchs aber trotzdem mal so. Code, der auf eine Zeile gequetscht wurde(vor allem ein SQL-String!), ist meistens ziemlich unleserlich. Die Spalten-aliases brauchst du nicht - sind doch exakt die Spaltennamen.
Delphi-Quellcode:
Ändern & Abfragen gleichzeitig (mit 2 Connections) sollte eigentlich kein Problem darstellen.
SQL_SelectString :=
'SELECT Titel,' + #13#10 + ' NAME,' + #13#10 + ' Vorname,' + #13#10 + ' Verzeichnis' + #13#10 + 'FROM dokumente.db' + #13#10 + '' + #13#10 + 'WHERE Titel = :eTitel AND' + #13#10 + ' (Stichwort1 LIKE :eStichWort OR' + #13#10 + ' Stichwort2 LIKE :eStichWort OR' + #13#10 + ' Stichwort3 LIKE :eStichWort )'; Query1.Active := False; Query1.Prepare; Query1.ParamByName('eTitel').asString := MaskEditTitel.Text; Query1.ParamByName('eStichWort').asString := MaskEditStichwort.Text; Query1.SQL.Text := SQL_SelectString; Query1.Active := True; Beschreibe bitte dein Problem mal genauer. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 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