Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6461
Последний выпуск: 19.06.2015

Вопрос по Query.Locate

Аноним
Есть статический запрос. Нужно организовывать поиск по разным полям. Если я организовываю поиск по одному вещественному полю, то всё работает нормально, также как и когда поиск происходит по 5 полям, одно из которых символьное (Тип поля Char(25), тип программной переменной - String). Но вот когда я делаю поиск по двум символьным полям (оба типа Char(6)), то этот поиск работает только тогда, когда база является локальной (таблицы типа Paradox), то есть находится на том же компьютере, откуда запускается программа. А если поиск происходит в сетевой БД (сервер Oracle , то выполнение строки с Query.Locate приводит к появлению сообщения об ошибке 'Operation not applicable.'.

В целом дело обстоит так

procedure Form1.Click(Sender TObject);
var s1,s2 String;
begin
// тут происходит присвоение s1 и s2
if Query.Locate('CODE1;CODE2',VarArrayOf([s1,s2]),[]) then
begin
[...]
end
end;

s1 и s2 содержат заглавные русские буквы. Длина полей CODE1 и CODE2 - 6 символов. Причём в s1 и s2 в принципе не может быть более 5 букв, также как и в этих полях не может быть более 5 букв. Я предположив, что дело можно исправить дополнением s1 и s2 нужным числом пробелов, вставил перед Query.Locate дополнение пробелами

if length(s1)<6 then
repeat
s1=s1+' '
until length(s1)>=6;
if length(s2)<6 then
repeat
s2=s2+' '
until length(s2)>=6;

Однако это не помогло,- по прежнему выполнение Query.Locate приводило к ошибке. Тогда я попробовал изменить тип s1 и s2 на String[6], но и это не помогло. Также не помогло и убирание добавления пробелов к s1 и s2 в испостаси String[6].

Что делать?
92K
06 ноября 2013 года
inshitsu
1 / / 06.11.2013
Подобная ошибка у меня возникала, когда поле в котором я ищу было, допустим, длиной 15 символов, а искал я в нем строку длиной 16 символов.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог