вопрос по работе со стринговыми строками

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

вопрос по работе со стринговыми строками

Сообщение grigoreo »

Уважаемые форумчане, вопрос такой как лудше можно сделать следующий алгоритм есть строка тип String как ее лудше обработать на предмет замены в ее теле всех кавычек на двойные кавычки , иначе когда я эту строку отправляю на сохранение в SQL запросе получаются или ошибки или половинится количество кавычек' (детально не обязательно лишь суть и набор функций),))
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

grigoreo
Вместо кавычек использовать либо паскалевскую собственную функцию QuotedStr(часть_строки_которую_надо_обрамить_кавычками), либо аналогичную функцию той СУБД, которой Вы отправляете запрос. Второе проще.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Есть 2 стандартные функции AnsiQuotedStr и AnsiExtractQuotedStr, которые соответственно дублируют кавычки и убирают :wink:
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

Код: Выделить всё

uses
  ...SysUtils...

  s:=StringReplace(s, #39, '"', rfReplaceAll);
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Сообщение grigoreo »

спасибо всем )) (все варианты рабочие)
понравилась QuotedStr короче всего
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Так из функции QuotedStr и вызывается функция AnsiQuotedStr

Код: Выделить всё

function QuotedStr(const S: string): string;
begin
result := AnsiQuotedStr(s, '''');
end ;

так что смысл использовать обёртку :wink:
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Сообщение Climber »

Применительно к SQL - надо пользоваться параметрами.
Ответить