Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage -> Suchen in einem MEMO (Text) Feld (https://www.delphipraxis.net/69753-sql-abfrage-suchen-einem-memo-text-feld.html)

Karstadt 19. Mai 2006 15:18

Datenbank: Mysql • Version: 4 • Zugriff über: mydac

SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Hallo.

Ich einem Feld PFAD von Typ (memo) speicher ich die dateipfade:

z.b:

C:\Dokumente und Einstellungen\123\Eigene Dateien\Eigene Bilder\Picasa-Exporte\öüä.bild

durch diese Abfrage bekomme ich eine leere Tabelle:

Delphi-Quellcode:

 Dateipfad:= 'C:\Dokumente und Einstellungen\123\Eigene Dateien\Eigene Bilder\Picasa-Exporte\öüä.bild'
 with Tabelle do
  begin
    Sql.close;
    Sql.text := 'select * from Datei where pfad = '#39+Dateipfad+#39
    Open;
  end;
Tabelle ist leer!

woran liegt das?

Bebe 19. Mai 2006 15:29

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Sorry, ist natürlich Quatsch was ich da sage. Warum ich vorher nur "Datei", und nicht "Dateipfad" gesehen habe,... keine Ahnung.
:oops:
Bebe



Hallo,

vielleicht liegt es an der Variabel.

Denn deklariert wird "Datei", aber in der SQL Abfrage nimmst du "Dateipfad", das ist nicht gleich.

Dadurch ist dein Feld auch leer, da der Dateipfad, wenn nicht vorher ein Wert zugewiesen wird, leer ist.

Ciao
Bebe

mikhal 19. Mai 2006 15:33

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Versuch mal folgendes

Delphi-Quellcode:
Dateipfad:= 'C:\Dokumente und Einstellungen\123\Eigene Dateien\Eigene Bilder\Picasa-Exporte\öüä.bild'
with Tabelle do
  begin
    Sql.close;
    Sql.text := 'select * from Datei where pfad = ' + QuotedStr(Trim(Dateipfad));
    Open;
  end;
QuotedStr setzt die korrekten Quotes für deine SQL-Anweisung. Das Trim löscht eventuelle White-Spaces.

Grüße
Mikhal

Karstadt 19. Mai 2006 15:34

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Bebe -> hallo. habe den Posting gerade geändert..mein fehler. :) daran liegt das nicht.

muss ich vielleicht mit TRIM arbeiten?... probiere ich aus. jetzt aber schönes Wochenende :)

marabu 19. Mai 2006 15:40

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
TRIM() wohl nicht - eher mit LIKE oder STRCMP() anstelle vom Gleichheitsoperator (Vermutung)

marabu

Bebe 19. Mai 2006 15:44

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Ich dachte schon ich bin Blind :shock: , dann habe ich ja richtig hingesehen.

Mit Trim erreicht Du nach meiner Meinung nichts. Da idR keine Leerzeichen vor oder hinter dem Pfad stehen.

Ich überlege weiter ...

Auch Dir ein schönes Wochenende

Gruß
Bebe

Karstadt 19. Mai 2006 15:51

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
das liegt an "\" diesen Zeichen. wenn ich also

Like %Dokumente und Einstellungen% eingebe dann funktioniert das...

habt ihr das auch?


C:\Dokumente und Einstellungen\123\Eigene Dateien\Eigene Bilder\Picasa-Exporte\öüä.bild

mikhal 19. Mai 2006 16:43

Re: SQL Abfrage -> Suchen in einem MEMO (Text) Feld
 
Tja, Steuerzeichen werden in C mit einem Backslash eingeleitet (z.B. "\n" NewLine). Offensichtlich werden deine Verzeichnisse entsprechend zerhackt. Durch doppelte Eingabe des Backslashs sollte das behoben sein.

Funktion StringReplace sollte da helfen

Grüße
Mikhal


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 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