Autor |
Beitrag |
derDoc
      
Beiträge: 623
Win Vista Prof
D2007 Prof
|
Verfasst: So 28.03.04 17:05
Ich habe hier ein sehr komisches Problem.
Eines meiner Programme benutzt die ZeosLibs, um in eine MySQL DB Daten einzutragen. Darunter sind auch Dateipfade in der Art 'X:\Dateien\MeineDatei.xyz', die als Strings eingetragen werden sollen. Wenn ich diese nun mit INSERT in die DB eintrage verschwinden die '\' und es steht in der DB 'X:DateienMeineDatei.xyz'.
Hat jemand damit schon Erfahrungen gesammelt oder eine Lösung?
_________________ MfG derDoc
There are only 10 types of people: those who understand binary and those who don't.
|
|
Benedikt
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 28.03.04 18:19
Hi,
das Problem sollte behoben sein, wenn du die Backslashes escapest, also
X:\\Dateien\\MeineDatei.xyz
an die Datenbank übergibst.
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Mo 29.03.04 14:22
Alternativ: mySQL nimmt auch nen normales Slash / an.
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
Masada
Hält's aus hier
Beiträge: 2
|
Verfasst: Do 15.09.05 21:14
Moin zusammen,
ich habe das gleiche Problem unter etwas anderes Vorraussetzungen und hoffe, den Thread hierfür "mißbrauchen" zu dürfen:
Ich möchte ebenso einen Pfad in der Form "c:\test.jpg" speichern.
Der Backslash geht beim Speichern immer verloren, nur leider passiert das sowohl beim normalen slash ("/") also auch wenn ich zwei backslashe ("\\") verwende.
Ich habe gelesen, dass das mit UTF-8 Codierung funktionieren soll. Diese wird AFAIK erst bei MySQL 4.1 unterstützt. Ich muss jedoch zwingend MySQL 4.0 einsetzen, da dort viel mehr als nur das kleine Programm, an dem ich rumbastel drauf laufen. Die Codierung ist aktuell "latin1".
Ich weiss wirklich nicht weiter und google ist nicht mehr mein Freund  .
Ich setze ein: MySQL 4.0.16, Delphi 7 pro und mysql.pas (von www.fichtner.net/delphi/mysql.delphi.phtml ).
Vielen Dank für etwaige Hilfe.
Gruß
Masada
|
|
zemy
      
Beiträge: 207
Win XP Prof.
D7
|
Verfasst: Fr 16.09.05 11:21
Gnz dumme Idee: wie währe es, wenn man bei Pfaden die "\" durch ein anderes Symbol ersetzt? Müsste dann eins sein, was in normalen Pfaden nicht vorkommt, wie |, :, *, ? usw. Beim auslesen müsste man dann rückersetzen...
_________________ LifeIsToShortToThinkAboutTheShortness
|
|
Masada
Hält's aus hier
Beiträge: 2
|
Verfasst: Fr 16.09.05 11:46
Die Idee ist mir heute beim Frühstück auch gekommen als workaround.
Trotzdem intressiert es mich, ob man es auch "sauber" lösen kann. Ansonsten werde ich das wohl so machen...
|
|
Nikola
      
Beiträge: 55
Win 3.11, Win 98, Win 2000, Win XP
D 1.0 C/S, D6 Prof. 2005 Prof.
|
Verfasst: Di 20.09.05 15:12
Hallo, hatte auch das Problem und so habe ich es gelöst:
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: 24: 25: 26:
| function Wandler(Text:String;Zeichen:Char):String; var Ch : String; SEnd : String; Position : Byte; WortLaenge : Byte; begin while Pos(Zeichen, Text) > 0 do begin Text[Pos(Zeichen, Text)]:= '¥'; end; while Pos('¥', Text) > 0 do begin Position:=Pos('¥', Text); Ch:=Copy(Text,1,Position); WortLaenge:=Length(Text); SEnd:=Copy(Text,Position+1,WortLaenge); Text[Pos('¥', Text)]:= Zeichen; Text:=Concat(Ch, Zeichen); Delete(Text,Position,1); Text:=Concat(Text, Zeichen+SEnd); end; result:=Text; end;
Artikel.Artikel_Bild:=Wandler(Artikel.Artikel_Bild,'\'); |
mfg. Nikola
|
|
Nikola
      
Beiträge: 55
Win 3.11, Win 98, Win 2000, Win XP
D 1.0 C/S, D6 Prof. 2005 Prof.
|
Verfasst: Di 20.09.05 15:15
Hallo, hatte auch das Problem und so habe ich es gelöst:
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: 24: 25: 26:
| function Wandler(Text:String;Zeichen:Char):String; var Ch : String; SEnd : String; Position : Byte; WortLaenge : Byte; begin while Pos(Zeichen, Text) > 0 do begin Text[Pos(Zeichen, Text)]:= '¥'; end; while Pos('¥', Text) > 0 do begin Position:=Pos('¥', Text); Ch:=Copy(Text,1,Position); WortLaenge:=Length(Text); SEnd:=Copy(Text,Position+1,WortLaenge); Text[Pos('¥', Text)]:= Zeichen; Text:=Concat(Ch, Zeichen); Delete(Text,Position,1); Text:=Concat(Text, Zeichen+SEnd); end; result:=Text; end;
Artikel.Artikel_Bild:=Wandler(Artikel.Artikel_Bild,'\'); |
mfg. Nikola
|
|
|