ESC function
MySQL String routines |
![]() ![]() ![]() |
acUtils
|
function ESC(const Str: String): String;
|
The ESC function "escapes" the string, makes the string safe for call as SQL string parameter. It adds the slash character before all quotes and doublequotes, converts #13 character to \r and #10 to \n.
|
function ESC(const Str: String): String;
|
var
|
I, RI: Integer;
|
|
procedure AddToResult(Ch: Char);
|
begin
|
Result[RI] := '\';
|
inc(RI);
|
Result[RI] := Ch;
|
inc(RI);
|
end;
|
|
begin
|
SetLength(Result, Length(Str) shl 1 + 3); // (length of original string) * 2 + 1
|
Result[1] := '''';
|
RI := 2;
|
|
for I := 1 to Length(Str) do
|
case Str[I] of
|
#0: AddToResult('0');
|
#13: AddToResult('r');
|
#10: AddToResult('n');
|
'\', '''', '"': AddToResult(Str[I]);
|
else
|
Result[RI] := Str[I];
|
Inc(RI);
|
end;
|
|
Result[RI] := '''';
|
SetLength(Result, RI);
|
end;
|