![]() |
|
![]() ![]() ![]() |
|
Timurrr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 22.5.2006 Репутация: нет Всего: нет |
У мя есть база в dbgride указаны названия товара, а в dbmemo его свойства по-строчно, как мне найти енто свойство в dbmemo введенного в edit по всей базе и вывести в dbgrid найден товар. Подскажите плз
|
|||
|
||||
vv3 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 29.4.2006 Репутация: нет Всего: нет |
Надо так понимать, что в DBMemo выводится BLOB, в котором написано что-то вроде: "мокрый, синий, старый", а в Edit ввели "синий" и нужно найти строки в базе данных, в блоюах которых есть это слово?
Если это так, то база совершенно неверно построена (см."нормализация"). Но и так можно, хотя в случае использования клиент-серверной архитектуры просто неверный подход. Сервер помрет, пока отфетчит все записи да со всеми блобами. В случае локальных баз - фиг с ними. Решение приблизительно такое: 1. Открываем запрос, в котором выбираются все интересующие нас поля и BLOB 2. Перебираем все BLOB'ы построчно на предмет вхождения слова, введенного в Edit и собираем их первичные ключи в строку через запятую 3. Запускаем запрос, в параметре которого пропишем внаглую нашу строку в скобках в секции WHERE... IN() И радуемся жизни... Конкретнее:
Разумеется, в DBMemo выводить в Query1 и не нужно, но StringList и LoadFromStream напишешь уже сам... В общем, простора для фантазии хватает. Кстати, а что будет, если в Edit написано "метро"? Тогда в выборку попадут и "метро", и "метрополитен", и "метровый" и "диаметром семь миллиметров".... ![]() Это сообщение отредактировал(а) vv3 - 22.5.2006, 23:12 |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
LIKE позволяет искать кусок строки в текстовом поле, % - заменяет символы, как * при поиске файлов в Винде или TC. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
vv3 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 75 Регистрация: 29.4.2006 Репутация: нет Всего: нет |
Точно, LIKE красивее и короче... Что-то я накрутил. Прошу мой пост (в части кода) считать отсутствующим... Невыспался. Но с поиском по блобу... ой-ей-ей
|
|||
|
||||
Timurrr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 22.5.2006 Репутация: нет Всего: нет |
а можно сделать енто без sql?
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
Maiwend |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 1.4.2006 Репутация: нет Всего: нет |
Потому как человек, не умеет с квери работать. Надо учиться ;) Может мне кто подскажет с моей проблемой http://forum.vingrad.ru/index.php?showtopic=97532 А то учу квери и никто подсказать нехочет. |
|||
|
||||
lexsedrex |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.5.2006 Репутация: нет Всего: нет |
вот как я ето делал, поиск с частичным совпадением, тянем параметр поиска с едита
adoQuery1.SQL.close; adoQuery1.SQL.Clear; adoQuery1.SQL.Text:='select параметр from таблица where параметр like '+QuotedStr('%'+edit13.Text+'%') ; adoQuery1.open; |
|||
|
||||
Timurrr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 22.5.2006 Репутация: нет Всего: нет |
я делаю, но не получается, у кого есть пример скиньте исходник плз...
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |