Фильтр некорректно работает с обратным слэшем
Добавлено: Ср 05 фев 2014 08:31
Если в тексте поля есть обратный слэш "\" и попробовать отфильтровать датасет по этому полю, запись не находится.
Пример:
В датасете есть единственная запись с полем FIELD_1 с текстом 'родитель\ребенок'.
OraQuery1.SQL.Text := 'select ''родитель\ребенок'' as FIELD_1 from dual';
OraQuery1.Open; //Запись есть: OraQuery1.RecordCount = 1.
sValue := OraQuery1.FieldByName('FIELD_1').AsString;
OraQuery1.FilterOptions := [foCaseInsensitive];
OraQuery1.Filter := 'FIELD_1 = ' + sValue;
OraQuery1.Filtered := True;
Запись не находит: OraQuery1.RecordCount = 0.
Подскажите, как исправить ошибку.
ODAC 9.1.3 (проверяли на ODAC 9.2.5 - ошибка присутствует).
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
NLS_CHARACTERSET = AL32UTF8
Пример:
В датасете есть единственная запись с полем FIELD_1 с текстом 'родитель\ребенок'.
OraQuery1.SQL.Text := 'select ''родитель\ребенок'' as FIELD_1 from dual';
OraQuery1.Open; //Запись есть: OraQuery1.RecordCount = 1.
sValue := OraQuery1.FieldByName('FIELD_1').AsString;
OraQuery1.FilterOptions := [foCaseInsensitive];
OraQuery1.Filter := 'FIELD_1 = ' + sValue;
OraQuery1.Filtered := True;
Запись не находит: OraQuery1.RecordCount = 0.
Подскажите, как исправить ошибку.
ODAC 9.1.3 (проверяли на ODAC 9.2.5 - ошибка присутствует).
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
NLS_CHARACTERSET = AL32UTF8