Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

Использование метода 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-1206604343
Petrovsky
2008-03-27 10:52
2008.09.28
CommandTimeout в ADOStoredProc


15-1217871043
tesseract
2008-08-04 21:30
2008.09.28
Отпуск. Давно мы не собирались.


2-1218824814
inforoom
2008-08-15 22:26
2008.09.28
Создана ли Форма?


11-1193864481
Ask_For_Help
2007-11-01 00:01
2008.09.28
Пристыковка к краям экрана


15-1217821033
Slider007
2008-08-04 07:37
2008.09.28
С днем рождения ! 4 августа 2008 понедельник