Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в базе данных ADO 
V
    Опции темы
Vrungel
Дата 1.11.2009, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.6.2009

Репутация: нет
Всего: нет



Доброго времени суток  smile 
у меня тут проблема не могу упростить поиск по АДО таблице ...
как сделать чтобы при нажатии на ПОИСК искал слово (или часть слова) которое было введенно в ЭДИТ??

компоненты: bitbtn2, edit1, label5.
Таблица: ADOTable1, поле поиска "Наименование"

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  __________.jpg 226,74 Kb
PM MAIL   Вверх
Данкинг
Дата 1.11.2009, 12:49 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vrungel @  1.11.2009,  12:44 Найти цитируемый пост)
как сделать чтобы при нажатии на ПОИСК искал слово (или часть слова) которое было введенно в ЭДИТ??

Запросом, например. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vrungel
Дата 1.11.2009, 13:22 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.6.2009

Репутация: нет
Всего: нет



как? как? как?  smile мне бы код конкретный пример с описанием чтобы я понял как делать ...

я год назад написал прогу где по 2м критериям одновремменно ищеться, а щас сел и не ч0 не понял =)))
год не программировал и всё заново вспоминать ... =(

Это сообщение отредактировал(а) Vrungel - 1.11.2009, 13:41
PM MAIL   Вверх
Данкинг
Дата 1.11.2009, 14:12 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vrungel @  1.11.2009,  13:22 Найти цитируемый пост)
а щас сел и не ч0 не понял =)))

Не верю ©.  smile 

Код

AdoQuery.Sql.Add('select * from BASE where POLE like "%'+edit5.text+'%"');





--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vrungel
Дата 2.11.2009, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.6.2009

Репутация: нет
Всего: нет



Опиши пожалусто "что?" да "как?"

я добавил компонент ADOQuery там указал путь к БД ... а как выбрать нужную таблицу не нашёл ...
Я думал поиск сделать методом "Locate" ... если можно на его примере поиск сделать ...
 smile 
PM MAIL   Вверх
Данкинг
Дата 2.11.2009, 15:26 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vrungel @  2.11.2009,  10:44 Найти цитируемый пост)
я добавил компонент ADOQuery там указал путь к БД ... а как выбрать нужную таблицу не нашёл ...

Код

ADOQuery.SQL.Add('select * from TABLE');

 smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vrungel
Дата 2.11.2009, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.6.2009

Репутация: нет
Всего: нет



Код
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
with form1.AdoQuery1 do begin
close;
sql.clear;
AdoQuery.Sql.Add('select * from BASE where POLE like "%'+edit1.text+'%"');
ADOQuery.SQL.Add('select * from Продажа');
open;
if adoquery1.RecordCount<>0 then
datasource1.DataSet:=adoquery1
end;

что тут не так?
и ещё ошибку выдаёт "ADOQuery1: Missing SQL property"
объясни мне по пунктам, я в запросах совсем не чего не понимаю  ... smile 

PM MAIL   Вверх
Данкинг
Дата 2.11.2009, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Vrungel @  2.11.2009,  16:04 Найти цитируемый пост)
что тут не так?

То, что в одном случае у тебя AdoQuery, а в другом - AdoQuery1. smile


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
chip_and_dayl
Дата 2.11.2009, 16:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 2
Всего: 9



Жесть полнаяsmile

Код

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
AdoQuery1.close;
AdoQuery1.sql.clear;
AdoQuery1.Sql.Add('select * from Продажа where Поле_По_КОтором_ПОиск like "%'+edit1.text+'%"');
AdoQuery1.open;
if adoquery1.RecordCount<>0 then
datasource1.DataSet:=adoquery1
end;


Это сообщение отредактировал(а) chip_and_dayl - 2.11.2009, 16:37


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Akella
Дата 2.11.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(chip_and_dayl @  2.11.2009,  16:35 Найти цитируемый пост)
Жесть полнаяsmile

жгут напалмом.... оба  smile

Добавлено через 1 минуту и 41 секунду
Если требуется реализовать поиск именно с помощью ADOTable, то запросы тут не причём!!!! Вы что.. нарооод smile 
Про замечательные методы locate и lookup забыли, что ли?

Добавлено через 7 минут и 27 секунд
Цитата(Vrungel @  2.11.2009,  16:04 Найти цитируемый пост)
AdoQuery.Sql.Add('select * from BASE where POLE like "%'+edit1.text+'%"');
ADOQuery.SQL.Add('select * from Продажа');

Ты вообще ни капельки не понимаешь что и к чему, что такое select и с чем его едят. Зачем ты лезешь программировать? Обычно человек, который хочет научится программировать идёт учится, читает книги, полезные материалы в интернете, примеры. А НЕ задаёт вопросы ленивого студента первого курса на форумах.
PM MAIL   Вверх
Данкинг
Дата 2.11.2009, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Akella @  2.11.2009,  22:22 Найти цитируемый пост)
Если требуется реализовать поиск именно с помощью ADOTable, то запросы тут не причём!!!! Вы что.. нарооод smile 
Про замечательные методы locate и lookup забыли, что ли?

Не было задания "именно с ADOTable". smile Было задание "осуществить поиск". К тому же, запросом однозначно быстрее, чем Locate. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Vrungel
Дата 3.11.2009, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 4.6.2009

Репутация: нет
Всего: нет



Цитата
Не было задания "именно с ADOTable".  Было задание "осуществить поиск".

Ну вообщетто в первом сообщении написаны компоненты которыми нада воспользоваться ...

Цитата
Ты вообще ни капельки не понимаешь что и к чему, что такое select и с чем его едят.


я в этом чистосердечно расскялся в одном из вышенаписанных сообщений

я и просил обьяснить как сделать поиск методом Locate  smile 
читал несколько статей ... мало что понял =(((
PM MAIL   Вверх
Данкинг
Дата 3.11.2009, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Vrungel, на форуме искать по слову "Locate" не пробовал? smile 

Цитата(Vrungel @  3.11.2009,  10:28 Найти цитируемый пост)
Ну вообщетто в первом сообщении написаны компоненты которыми нада воспользоваться ...

Там просто перечисление компонентов и не слова о том, что ими "нада воспользоваться".


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 3.11.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Данкинг @  2.11.2009,  22:50 Найти цитируемый пост)
Не было задания "именно с ADOTable". 


Цитата(Vrungel @  1.11.2009,  12:44 Найти цитируемый пост)
у меня тут проблема не могу упростить поиск по АДО таблице ...


Цитата(Vrungel @  1.11.2009,  12:44 Найти цитируемый пост)
компоненты: bitbtn2, edit1, label5.
Таблица: ADOTable1, поле поиска "Наименование" 



Мало того, locate работает без переоткрытия НД ;)

Добавлено через 34 секунды
Цитата(Данкинг @  2.11.2009,  22:50 Найти цитируемый пост)
К тому же, запросом однозначно быстрее, чем Locate.

 smile

Добавлено через 3 минуты и 40 секунд
Цитата(Vrungel @  3.11.2009,  10:28 Найти цитируемый пост)
я и просил обьяснить как сделать поиск методом Locate  smile 
читал несколько статей ... мало что понял =((( 

1. Вверху каждой стриницы форума есть кнопка Поиск. Лично я не буду принципиально искать за тебя информацию.
2. Google.com
3. F1 у тебя тоже выламана?
PM MAIL   Вверх
chip_and_dayl
Дата 3.11.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 2
Всего: 9



Мда... тяжело с Vrungel

Во-первы: чтобы через Locate найти часть слова, которое входит в поле, нужно помучиться. И если его решить, то я боюсь скорость будет не ахты

Во-вторы: есть готовый SQL-запрос. Что  тебе мешает его использовать!?!

Добавлено @ 18:23
Код

AdoQuery1.close;
AdoQuery1.sql.clear;
AdoQuery1.Sql.Add('select * from Продажи where Наименование like "%'+edit1.text+'%"');
AdoQuery1.open;
if adoquery1.RecordCount<>0 then
datasource1.DataSet:=adoquery1


Добавлено @ 18:25
Только не вмасти вместо двух одинарных кавычек '' одну двойную "

Это сообщение отредактировал(а) chip_and_dayl - 3.11.2009, 19:42


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.