Autor Beitrag
derDoc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 623

Win Vista Prof
D2007 Prof
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 207

Win XP Prof.
D7
BeitragVerfasst: 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



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55

Win 3.11, Win 98, Win 2000, Win XP
D 1.0 C/S, D6 Prof. 2005 Prof.
BeitragVerfasst: Di 20.09.05 15:12 
Hallo, hatte auch das Problem und so habe ich es gelöst:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 55

Win 3.11, Win 98, Win 2000, Win XP
D 1.0 C/S, D6 Prof. 2005 Prof.
BeitragVerfasst: Di 20.09.05 15:15 
Hallo, hatte auch das Problem und so habe ich es gelöst:

ausblenden 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