|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2009, 11:44 | #1 |
Пользователь
Регистрация: 07.07.2008
Сообщений: 24
|
Оптимизация фильтрации Adoquery
База данных около 100000 записей...
через эдиты делаю поиск записей процедура procedure TForm1.ADOQuery1FilterRecord(DataSe t: TDataSet; var Accept: Boolean); begin accept:=true; Accept:=AnsiLowerCase(copy(ADOQuery 1IDKOD.asstring, 1, Length(edit1.Text)))=AnsiLowerCase( edit1.Text); if (Edit1.Text <> '') and (Accept) then Accept := AnsiPos(Edit1.Text, ADOQuery1IDKOD.AsString) > 0; if (Edit7.Text <> '') and (Accept) then Accept := AnsiPos(Edit7.Text, ADOQuery1ObjName.AsString) > 0; if (Edit9.Text <> '') and (Accept) then Accept := AnsiPos(Edit9.Text, ADOQuery1nam.AsString) > 0; if (Edit11.Text <> '') and (Accept) then Accept := AnsiPos(Edit11.Text, ADOQuery1fil_kodu.AsString) > 0; end; может в чем то ошыбка..... или как оптимизировать фильтрацию..... все работает но грузит и память и процесор на 100 |
18.09.2009, 12:18 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так и будет..
хотите быстрее - по значениям Edit'ов формируйте SQL запрос и выполняйте его. (кстати, разумным было его повесить на отдельную кнопочку - "Искать") хотя, ОГРОМНОГО прироста скорости это может и не дать! операция поиска вхождения подстроки в строку в СУБД весьма небыстрая (а ещё и плохо индексируемая движком БД) СУБД у Вас какая? Последний раз редактировалось Serge_Bliznykov; 18.09.2009 в 12:24. |
18.09.2009, 12:28 | #3 |
Пользователь
Регистрация: 07.07.2008
Сообщений: 24
|
спс
access |
18.09.2009, 13:23 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
пример поиска по заданным критериям
sashaslam,
да не за что! а вот и пример. пользователем задаются два параметра. Оба значения выбираются в запросе как ВХОЖДЕНИЕ в поле БД... Код:
Последний раз редактировалось Serge_Bliznykov; 18.09.2009 в 13:25. |
18.09.2009, 14:01 | #5 |
Пользователь
Регистрация: 07.07.2008
Сообщений: 24
|
большое спасибо!!!!!!
был занят... буду исправлять..... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Количество записей adoquery после фильтрации ??? | sashaslam | БД в Delphi | 9 | 18.09.2009 22:30 |
Подскажите по фильтрации полей | wadzik | БД в Delphi | 2 | 09.09.2009 11:33 |
ошибка при фильтрации | Screame | Microsoft Office Excel | 31 | 14.08.2009 10:10 |
ошибка фильтрации | Dozent | Общие вопросы Delphi | 5 | 25.06.2008 22:52 |
Ошибка при фильтрации! | Markus | БД в Delphi | 0 | 05.05.2007 17:28 |