+1
Ukończony

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

Сергей Попов 12 lat temu Ostatnio zmodyfikowane przez Михаил Власов 11 lat temu 4

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

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

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

Odpowiedź

Odpowiedź
Ukończony

4.6

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

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

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

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

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

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

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

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