+1
Completed

В запросах по семантическим данным правильно обрабатывать строки содержищие (") - двойной апостроф

Сергей Попов 12 years ago updated by Михаил Власов 11 years ago 4

1. При отображениее значений, они обрамляются этим символом. Следовательно, в значении двойной апостроф  должен иначе обозначаться (как это принято в текущей СУБД).

2. Проверка простого условия отбора записей с двойным апострофом в значении невыполняется, или завершается без сообщений. Пример условия:

{ДАННЫЕ.TEST} = "Проба "пера" и не только".

Answer

Проверил в ИнГЕО 4.6 бета2 с базой под MS-SQL - увы, всё также.

В НАБОРЕ ОБЪЕКТОВ можно фильтровать по такому значению, это хорошо.

В ЗАПРОСЕ ПО СЕМАНТИЧЕСКИМ ДАННЫМ вышеприведённое условие приводит к сообщению: Ожидается оператор в выражении.

При этом нельзя сказать что пользователь не прав, это условие формирует сама программа по двойному щелчку на выбранном значении.

Решение выбрано не однозначное. Да, с двойными апострофами вроде всё нормально, просто эта проблема перекинулась на обычный, одинарный апостроф. Конечно, двойные встречаются чаще, но и одинарные тоже бывают, и оба сразу: Кафе "д'Артаньян и баста".

Может быть подглядеть как это сделано в СУБД, но каждая СУБД предложит свой вариант.

В НАБОРЕ ОБЪЕКТОВ всё хорошо, всё гладко.

Эта проблема в ЗАПРОСАХ ПО СЕМАНТИЧЕСКИМ ДАННЫМ.