Entwickler-Ecke

Datenbanken - Anfänger braucht Hilfe von A-Z.


toddo - Mi 11.05.11 12:13
Titel: Anfänger braucht Hilfe von A-Z.
Hallo, bin nicht nur im Thema Delphi unerfahren und neu sondern auch generell in der Softwareentwicklung.

Bin gerade dabei ein kleines Programm zu schreiben, das die Angelegten Datensätze aus der Datenbank anzeigt (DBGrid) und auch nach meinen Kriterien sucht. Sprich, aus einer DB Tabelle mit mehreren Spalten (Standort, Produktname, Preis usw.). Auf der Benutzeroberfläche mit 2 TEdit "such" Felder und einem Button namens "suchen" die Entsprechenden Datensätze dann im Grid anzeigen lassen.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button6Click(Sender: TObject);
var test:string;
produktstring:string;
standortstring:string;
begin
     ADODataSet1.Close;
     produktstring := Edit1.Text;
     standortstring := Edit2.Text;
     
     ADODataSet1.CommandText:=
     'select * from Table1 where Produkt like' +QuotedStr(produktstring+'%')
     and 'Standort like' +QuotedStr(standortstring+'%'); //<- 2. Bedingung

     //test := ADODataSet1.CommandText;
     ADODataSet1.Active:=True;
end;



Das Problem das ich jetzt habe ist, das sobald ich die zweite Bedingung der Suche mit einfüge, also das, "and Standort like..." meckert er herum. Ohne die zweite Bedingung funktioniert die Suche einwandfrei.

Würde mich freuen wenn mir jemand ne nette und gute Antwort gibt. Danke im Voraus.

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt


guinnes - Mi 11.05.11 13:21

Das and gehört mit in die Anführungszeichn


toddo - Mi 11.05.11 13:24

user profile iconguinnes hat folgendes geschrieben Zum zitierten Posting springen:
Das and gehört mit in die Anführungszeichn


Dann kommt die Meldung Operator oder Semikolon fehlt.


toddo - Mi 11.05.11 13:26

ahhh, ich habs, das "AND" in den hochkomma mit rein und vor dem hochkomma ein +

juhu, danke


Sybok Factor - Mi 11.05.11 13:45

Hallo Toddo,

wundert mich, dass es geht, denn dein CommandText:

user profile icontoddo hat folgendes geschrieben Zum zitierten Posting springen:



Delphi-Quelltext
1:
2:
3:
     ADODataSet1.CommandText:=
     'select * from Table1 where Produkt like' +QuotedStr(produktstring+'%')
     and 'Standort like' +QuotedStr(standortstring+'%'); //<- 2. Bedingung

Moderiert von user profile iconMartok: Delphi-Tags hinzugefügt


wird mit deinen Änderungen zu 'Select * from Table1 where Produkt like"Suchbegriff1%""AND"Standort like"Suchbegriff2%"'.

Versuch es mal so:

Delphi-Quelltext
1:
2:
3:
     ADODataSet1.CommandText:=
     'select * from Table1 where Produkt like ' + QuotedStr(produktstring+'%') +
     ' and Standort like ' +QuotedStr(standortstring+'%'); //<- 2. Bedingung