Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem bei der Übergabe von SQLStatements an ein TQuery (https://www.delphipraxis.net/49586-problem-bei-der-uebergabe-von-sqlstatements-ein-tquery.html)

shmia 13. Jul 2005 12:45

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Wenn man keine Parameter verwendet, sollte man zumindest die Funktion QuotedStr verwenden !
Delphi-Quellcode:
MyQuery.SQL.Text:='SELECT SUCHTEXT FROM ARTIKEL Artikel WHERE SUCHTEXT LIKE '+
   QuotedStr('%'+Edit1.Text+'%');
MyQuery.Open;
Andernfalls kommt es zu einem SQL Syntaxfehler wenn Edit1.Text mal ein Hochkoma enthalten sollte.

Silbar 13. Jul 2005 12:46

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
danke leute (besonders marabu) :cheers: jetzt rennt das.

eine kleine weiteführende frage wie baue ich das UPPER von Hansa passend in marabu's bzw.shmia's quelltext ein irgendwie funzt das net wen ich das mache (im SUCHTEXT steht alles in Grossbuchstaben drin deshalb soll die Eingabe vom Edit auch in Grossbuchstaben umgewandelt werden)

PS.: Das open habe ich wohl überlesen marabu sry

marabu 13. Jul 2005 13:38

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Hier eine überarbeitete Fassung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Form1.MyQuery.SQL.Text := 'SELECT SUCHTEXT FROM Artikel WHERE UPPER(SUCHTEXT) LIKE ''%'
                         + QuotedStr(AnsiUppercase(Form1.Edit1.Text)) + '%''';
 Form1.MyQuery.Open;   // ExecSQL nur, wenn du keinen result set erwartest
end;
Verbesserungsvorschläge von Hansa und shmia sind eingebaut.

und auch noch ein Fehler - also unbedingt bis zum Beitrag von shmia weiterlesen...

marabu

Silbar 13. Jul 2005 13:47

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Danke für die Mühe marabu aber jetzt bekomm ich die Meldung
Zitat:

[Error] OMDBTestUnit.pas(58 ): Undeclared identifier: 'Upper'

Chris1986 13. Jul 2005 15:45

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
ich glaub marabu meint die Funktion UpperCase

marabu 13. Jul 2005 15:56

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Er meinte sogar AnsiUppercase() - um genau zu sein - aber so ist das im Alter: man meint manchmal das eine und schreibt das andere. Gut das immer einer da ist, der mitdenkt. Ich ändere das mal im Code, bevor noch jemand darauf hereinfällt...

marabu

shmia 13. Jul 2005 17:02

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Zitat:

Zitat von marabu
...aber so ist das im Alter: man meint manchmal das eine und schreibt das andere

Stimmt, die grauen Zellen wollen einfach nicht mehr. :nerd:
Und das mit den Hochkommas und QuotedStr passt auch nicht.
Richtig wäre:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.MyQuery.SQL.Text := 'SELECT SUCHTEXT FROM Artikel WHERE UPPER(SUCHTEXT) LIKE '
                         + QuotedStr('%'+AnsiUppercase(Form1.Edit1.Text)+'%');
Form1.MyQuery.Open;  
end;

marabu 13. Jul 2005 17:26

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Heute ist nicht mein Tag
*UnbedachterTrittGegenSchreibtisch*
Ich gehe dann mal nachbessern...

marabu

Silbar 14. Jul 2005 13:46

Re: Problem bei der Übergabe von SQLStatements an ein TQuery
 
Danke Leute jetzt funzt :thumb:

und marabu baruchst net sauer sein wusstest immmerhin mehr als ich :thumb:


also leute cya


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:04 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz