Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];

Вниз

Поиск в базе!   Найти похожие ветки 

 
Youri   (2002-11-06 11:56) [0]

Господа! Очень нужна помощь.
Не знаю как осуществить частичный поиск методом Locate. Нужно искать подстроку в некотором поле. Но не с начала, а например с 5 символа. Например:
В строке "Нужна помощь" необходимо найти строку "жна помо".
Как сделать?
Спасибо!


 
Alexandr   (2002-11-06 11:58) [1]

while not(eof) do begin
if pos(...)>0 then break;
next;
end;


 
Max Zyuzin   (2002-11-06 12:01) [2]

Можно сделать хитро :)
Сделать в отдельном IBQuery поиск какой надо типа
Select * from mytab where mifield like "%жна помо%"
И локейтить по отображаемуому датасету уже зная строку целиком (лучше по ключю)


 
Alexandr   (2002-11-06 12:05) [3]

но будет ли быстрее при этом...


 
Max Zyuzin   (2002-11-06 12:19) [4]

Будет или не будет зависит много от чего... А вопрос конечно интересный :) пусть автор ветки попробует и скажет


 
Youri   (2002-11-06 12:23) [5]

Alexandr!
Использую ваш метод с циклом. Но поиск в таком случае происходит очень медленно!
Есть ли какие-то другие способы?
Max Zyuzin!
Что делать, если используется не IBQuerry, а IBTable?


 
Max Zyuzin   (2002-11-06 12:27) [6]

Какая разница? Добавте еще один компонент IBQuery для выполнения запроса. А Locate делайте уже в вашей Table.


 
Alexandr   (2002-11-06 12:37) [7]

самое главное, не использовать IBTable.
В нем все тормоза!


 
Wolf226   (2002-11-06 13:43) [8]

IBTable1.locate("fieldname","жна пом",[loPartialKey])


 
Max Zyuzin   (2002-11-06 13:44) [9]

>Wolf226 © (06.11.02 13:43)
Это не поможет. Locate ищет троку с начала.


 
Wolf226   (2002-11-06 14:18) [10]

Sorry. Ошибся.
Кстати. На счет вариантов 1 (Alexandr) и 2 (Max Zyuzin)
При малом объеме наверно лучше вариант 1, при большом - 2.
Но надо проэкспериментировать.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-82680
saniok
2002-11-06 19:36
2002.11.25
А что, больше 7-ми в парадоксе нельзя?


14-83008
Николай Быков
2002-11-08 00:21
2002.11.25
Интернет


6-82888
qqqqq111
2002-09-19 05:32
2002.11.25
Download manager для LAN


1-82727
roman002
2002-11-15 05:29
2002.11.25
ASCII в Memo


4-83075
chsv
2002-10-14 20:06
2002.11.25
?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский