Topic: Поиск по индексу MySQL
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Поиск по индексу MySQL
|
|
Posted: 2008/02/27 23:22 |
|
|
|
|
Здравствуйте, Спасибо за компонент! На днях попробовал выполнить поиск по индексу и столкнулся со следующей проблемой: Добавляю индекс в Indexes компонента Table, Field присваиваю 'Name', Name присваиваю 'indName', в тексте поиска пишу if not ADTable1.FindKey(['Арбус']) then ShowMessage('Не нашел'); и все работатет, но Вот никак не могу заставить его отказаться от чувствительности к регистру... т.е. 'арбус' не находит что то надо сделать в Options? Пока результата не добился... И если есть время там есть ещё и фильтр как его применять? - ради интереса... Жду ответа... Заранее спасибо!
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/27 23:41 |
|
|
|
|
Прошу прощение за свою неграмотность оказывается необходимо в место FindKey использовать FindNearest тогда код будет выглядеть не так if not ADTable1.FindKey(['Арбус']) then ShowMessage('Не нашел'); а вот так ADTable1.FindNearest(['эАрбус']); и все будет ok но вот только зачем тогда нужен Options? Какой смысл в него вложен? Он же там не посто так? или просто так?
|
|
Diman
Admin
 Admin
| Posts: 1460 |  | Karma: 18 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 00:33 |
|
|
|
|
1) Для регистро независимого поиска по индексу, необходимо включить soNoCase в TADIndex.Options. Если не по всем полям индекса нужен регистро независимый поиск, то нужные поля указать в CaseInsFields. 2) FindKey производит точный поиск. FindNearest ищет либо указанное значение, если оно не найдено, то встает на первую запись с большим значением.
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 00:50 |
|
|
|
|
Я вроде так и делаю, но все равно не получается вот даже ScreenShoot присылаю... Может все дело в том, что в самой таблице нет такого индекса, но по идеи компоненту все равно есть он в таблице или нет...
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 00:51 |
|
|
|
|
Забыл ScreeShoot
|
|
Diman
Admin
 Admin
| Posts: 1460 |  | Karma: 18 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 01:19 |
|
|
|
|
Забыл главное ... 1) Открой файл AnyDACSourceuAD.inc. 2) Найди там строки: {$define AnyDAC_NOLOCALE_DATA} // define, to use binary data comparision {$define AnyDAC_NOLOCALE_META} // define, to use binary metadata comparision И закоментируй их. 3) Перестрой приложение.
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 03:03 |
|
|
|
|
Нашел файл как Вы сказали, только у меня он называется daAD.inc (может это даже и не он), в папке SOURCE... Нашел эти две строчки, закоментировал, создал новый Application положил компоненты и ничего не получилось он опять ищет с учетом регистра... Даже картинку прикреплю для убедительности
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 03:05 |
|
|
|
|
Чтото я про них постоянно забываю
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 03:27 |
|
|
|
|
Картинка
|
|
kochetov_1983
User
 Senior Boarder
| Posts: 22 |   | Karma: 0 |
|
Re:Поиск по индексу MySQL
|
|
Posted: 2008/02/28 03:46 |
|
|
|
|
Изменил способ комментирования получилось // Common {.$define AnyDAC_NOLOCALE_DATA} {.$define AnyDAC_NOLOCALE_META} {.$define AnyDAC_DEBUG} // define for profiling но результата по прежнему нет...
|
|
|