Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery variabel (https://www.delphipraxis.net/146202-tquery-variabel.html)

Sherlock 15. Jan 2010 14:30

Re: TQuery variabel
 
Ach, ich hatte verstanden, Du möchtest in Deinem Edit eine Eingabe in Form von 'Aac#en' erlauben, die dann in deinem SQL natürlich als 'Aac_en' ankommen muss. Aber wenn ich Dich falsch verstanden habe, dann sorry.

Sherlock

Jens Hartmann 15. Jan 2010 14:31

Re: TQuery variabel
 
Das wollte Sherlock Dir damit sagen..

Delphi-Quellcode:
  SQLString := StringReplace(Edit1.Text, #, '_', [rfReplaceAll]);
[EDIT]@Sherlock Ich glaube das hat er auch gemeint [/EDIT]

Gruß Jens

fl63 15. Jan 2010 14:40

Re: TQuery variabel
 
Hab ich auch.

Mir ist nur der Begriff Statement etwas unverständlich. da ich mich seit kaum 3 Stunden mit SQL genauer beschäftige.

Ich bedanke mich bei Euch für die schnellen Antworten.

Sherlock 15. Jan 2010 15:45

Re: TQuery variabel
 
Na, dann passt ja jetzt alles.

Abgesehen davon, daß hier natürlich an einer Stelle die Anführungszeichen fehlen.
Zitat:

Zitat von Jens Hartmann
Delphi-Quellcode:
  SQLString := StringReplace(Edit1.Text, #, '_', [rfReplaceAll]);

Und Statement ist nur Englisch für Aussage/Anweisung.

Sherlock

mschaefer 15. Jan 2010 16:32

Re: TQuery variabel
 
Stichwort "Anführungszeichen"
es ist auch kein Fehler die im Edit.Text zu filtern, sonst kann man sich die SQL zerschiessen lassen.
Grüße in die Runde // Martin

fl63 16. Jan 2010 10:20

Re: TQuery variabel
 
Das hier ist der vollständige Code den ich bis jetzt habe

Delphi-Quellcode:
begin
SQLString:= StringReplace(Edit2.Text,'#','_',[rfReplaceAll]);
SQLString:= StringReplace(SQLString,'..','%',[rfReplaceAll]);
Edit1.Text:= SQLString;
  with Query1 do
  begin
    Active:=False;
    SQL.Clear;
    SQL.Add('Select * from gesamt3 where feld002 Like :text ');
    ParamByName('text').asString := SQLString;
    Active:=True;
  end;
end;
Leider funktioniert die Abfrage nur direkt also:

Chemiker wird gefunden --> Biochemiker wird nicht gefunden

gibt es eine Möglichkeit die Abfrage Schreibweisentolerant zu machen?

Ich weiß es liegt an der Groß und Kleinschreibung des Chemiker
oder muß man das mit mehreren Abfragen gestalten und die Ergebnisse Appenden also anhängen?

mschaefer 16. Jan 2010 11:01

Re: TQuery variabel
 
Delphi-Quellcode:
begin
SQLString:= StringReplace(Edit2.Text,'#','_',[rfReplaceAll]);
SQLString:= StringReplace(SQLString,'..','%',[rfReplaceAll]);
SQLString:= StringReplace(SQLString,char(34),' ',[rfReplaceAll]);
Edit1.Text:= SQLString;
  with Query1 do
  begin
    Active:=False;
    SQL.Clear;
    SQL.Add('Select * from gesamt3 where feld002 Like %:text% ');
    ParamByName('text').asString := SQLString;
    Active:=True;
  end;
end;

fl63 16. Jan 2010 14:16

Re: TQuery variabel
 
Also mit der Änderung von mschaefer


Zitat:

Zitat von mschaefer
Delphi-Quellcode:
SQLString:= StringReplace(SQLString,char(34),' ',[rfReplaceAll]);

passiert gar nichts.

Ich nehme an das Char(34) der ascii Code für Anführungszeichen sein soll.
Ein solches ist in Chemiker ja nicht vorhanden.
Meine Frage ist nach wie vor:

Wier bekomme ich eine SQL Abfrage zustande die Schreibweisentolerant ist?

mschaefer 16. Jan 2010 14:23

Re: TQuery variabel
 
Delphi-Quellcode:
  SQL.Add('Select * from gesamt3 where feld002 Like %:text% ');
Die % vor und nach dem Text sind dafür zuständig. // Grüße Martin

mkinzler 16. Jan 2010 14:26

Re: TQuery variabel
 
Wenn du mit Schreibweise Groß-/Kleinschreibung meinst, benötigst musst du beide gleichschalten

SQL-Code:
... where Upper( <Feld>) like Upper( :text);


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Seite 2 von 6     12 34     Letzte »    

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