AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem bei der Übergabe von SQLStatements an ein TQuery
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei der Übergabe von SQLStatements an ein TQuery

Ein Thema von Silbar · begonnen am 13. Jul 2005 · letzter Beitrag vom 14. Jul 2005
Antwort Antwort
Seite 2 von 2     12   
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

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

  Alt 13. Jul 2005, 13:45
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.
Andreas
  Mit Zitat antworten Zitat
Silbar

Registriert seit: 23. Jun 2005
42 Beiträge
 
Delphi 6 Professional
 
#12

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

  Alt 13. Jul 2005, 13:46
danke leute (besonders marabu) 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
Zukunft: etwas, das die meisten Menschen erst lieben, wenn es Vergangenheit geworden ist.

- William Somerset Maugham (engl. Schriftsteller)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

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

  Alt 13. Jul 2005, 14:38
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
  Mit Zitat antworten Zitat
Silbar

Registriert seit: 23. Jun 2005
42 Beiträge
 
Delphi 6 Professional
 
#14

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

  Alt 13. Jul 2005, 14:47
Danke für die Mühe marabu aber jetzt bekomm ich die Meldung
Zitat:
[Error] OMDBTestUnit.pas(58 ): Undeclared identifier: 'Upper'
Zukunft: etwas, das die meisten Menschen erst lieben, wenn es Vergangenheit geworden ist.

- William Somerset Maugham (engl. Schriftsteller)
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#15

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

  Alt 13. Jul 2005, 16:45
ich glaub marabu meint die Funktion UpperCase
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#16

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

  Alt 13. Jul 2005, 16:56
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
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#17

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

  Alt 13. Jul 2005, 18:02
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.
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;
Andreas
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#18

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

  Alt 13. Jul 2005, 18:26
Heute ist nicht mein Tag
*UnbedachterTrittGegenSchreibtisch*
Ich gehe dann mal nachbessern...

marabu
  Mit Zitat antworten Zitat
Silbar

Registriert seit: 23. Jun 2005
42 Beiträge
 
Delphi 6 Professional
 
#19

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

  Alt 14. Jul 2005, 14:46
Danke Leute jetzt funzt

und marabu baruchst net sauer sein wusstest immmerhin mehr als ich


also leute cya
Zukunft: etwas, das die meisten Menschen erst lieben, wenn es Vergangenheit geworden ist.

- William Somerset Maugham (engl. Schriftsteller)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
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