Показать сообщение отдельно

  #12656  
Старый 21.04.2010, 14:07
slayzer
Новичок
Регистрация: 30.04.2009
Сообщений: 9
Провел на форуме:
35489

Репутация: 0
По умолчанию

Господа, есть варианты обхода экранирования ?)


statement := 'SELECT * FROM users WHERE name = ' + QuoteParam(userName) + ';';


function QuoteParam(s : string) : string;
{ на входе — строка; на выходе — строка в кавычках и с заменёнными спецсимволами }
var
i : integer;
Dest : string;
begin
Dest := '"';
for i:=1 to length(s) do
case s[i] of
'''' : Dest := Dest + '\''';
'"' : Dest := Dest + '\"';
'\' : Dest := Dest + '\\';
else Dest := Dest + s[i];
end;
QuoteParam := Dest + '"';
end;


+ к переменной можно добавить intval()
 
Ответить с цитированием