Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сохранить строку с двойным апострофом [D6, XP]


vvrz ©   (2009-06-23 14:05:00) 

Есть запрос
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('INSERT INTO norm_omto (nomenk,ckmtr,name,tovaroved)');
s:=' VALUES ('''+ Trim(mater.ВнутрКод)+''' , '''+Trim(mater.КодСК_МТР)+''' , '''+Trim(mater.Наименование)+''' , '''+ Trim(mater.Товаровед)+''')';
ADOQuery1.SQL.add(s);
ADOQuery1.ExecSQL;

где mater:=Ole1C.CreateObject('Справочник.Материалы');

Так вот, если в строке встречается двойной апостроф, например : Кисть радиаторная 2'' 50мм
, в итоге сохраняется строка с одним апострофом: Кисть радиаторная 2' 50мм.

Как правильно записать строку?


Игорь Шевченко   (2009-06-23 16:02:00) [1]


> в итоге сохраняется строка с одним апострофом


куда сохраняется-то ?


MonoLife   (2009-06-23 15:58:00) [2]

1с причем? в Delphi
AnsiQuotedStr(const S: string; Quote: Char): string;


vvrz   (2009-06-23 15:11:00) [3]


> ансикуотедстр

Что, тоже на 1С пишеш? ))


vvrz   (2009-06-23 15:08:00) [4]


> DVM ©

Спасибо, я понял


Плохиш   (2009-06-23 15:04:00) [5]

Borland для мазахистов придумал функцию ансикуотедстр...


DVM   (2009-06-23 15:01:00) [6]


> vvrz ©  

Перед сохранением такой строки обрабатывай ее дополнительно: каждый апостроф заменяй двумя.


vvrz   (2009-06-23 14:50:00) [7]


> 'Кисть радиаторная 2" 50мм2' (после 2 двойные кавычки)..

но там, к сожалению, уже стоят 2 апострофа, то есть дюймы скорее всего


MonoLife   (2009-06-23 14:39:00) [8]


> А без параметров можно?
>

можно:
DVM ©   (23.06.09 14:09) [1]
MBo ©   (23.06.09 14:23) [3]
или
'Кисть радиаторная 2" 50мм2' (после 2 двойные кавычки)..
но с параметрами проще и надежней


vvrz   (2009-06-23 14:32:00) [9]

А без параметров можно?


vvrz   (2009-06-23 14:31:00) [10]

У меня нет Caption,  строка выбирается из справочника, который редактированию не подлежит и используется как есть.
то есть Справочник.Материалы.Наименование = Кисть радиаторная 2'' 50мм


Плохиш   (2009-06-23 14:27:00) [11]

Использовать патраметры.


MBo   (2009-06-23 14:23:00) [12]

попробуй:
Caption := 'a''a  b''''b';


vvrz   (2009-06-23 14:15:00) [13]


> заменить на четыре апострофа?

Не понял, в каком месте запроса четыре апострофа?


DVM   (2009-06-23 14:09:00) [14]


> Как правильно записать строку?

заменить на четыре апострофа?


Наверх

Титульная страница Поиск, карта сайта Написать письмо