Форум: "Базы";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизИспользование метода Locate у TClientDataSet Найти похожие ветки
← →
harisma (2008-03-31 12:33) [0]Как выполнить Locate по значению поля, которое содержит символ " (#39)?
Вызов происходит так:
cdsGroup.Locate("F1", VarArrayOf([Value]), [loCaseInsensitive, loPartialKey])
Value получаем считыванием значения с контрола формы (TEdit.Text), куда было введено слово "зв"язок".
Если подставить это значение как есть - то получим следующую ошибку:
"Invalid filter expression character: "я"
Что делать? Каким образом следует предварительно обработать введенное значение, чтобы метод Locate корректно отработал? (в табличке строка чс таким значением в поле F1 существует)
← →
clickmaker © (2008-03-31 12:54) [1]а в отладчике если зайти в Locate, на какой строке ошибка?
← →
www (2008-03-31 13:54) [2]это проблема буквы "я", увы
тяжелое наследие кодировки FF
← →
Виталий Панасенко(дом) (2008-03-31 14:19) [3]у меня в Д7 находит без проблем..можливо, глюк в Д5 ?
← →
Виталий Панасенко(дом) (2008-03-31 14:25) [4]а, но при использовании VarArryaOf - не находит
if not cds.Locate("F1", VarArrayOf([Edit1.Text]), [loCaseInsensitive, loPartialKey]) then
ShowMessage("Not found")
а так
if not cds.Locate("F1", Edit1.Text, [loCaseInsensitive, loPartialKey]) then
ShowMessage("Not found")
без проблем
← →
Loginov Dmitry © (2008-03-31 23:39) [5]> Value получаем считыванием значения с контрола формы (TEdit.Text)
> , куда было введено слово "зв"язок".
>
> Если подставить это значение как есть - то получим следующую
> ошибку
TClientDataSet крайне чувствителен к наличию апострофа (и к одинарному символу двойной кавычки). Байт FF тут непричем.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.06 c