Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

фильтр не работает   Найти похожие ветки 

 
Choco ©   (2007-03-15 11:56) [0]

подскажите где у меня ошибка:

procedure TForm1.Edit1Change(Sender: TObject);
var s:string;
begin
s:="name=";
ADOTable1.Filtered:=false;
ADOTable1.Filter:=s+""""+Edit1.text+"*""";
ADOTable1.Filtered:=true;
 if Edit1.Text="" then
ADOTable1.Filtered:=false;
end;

name -  имя поля базы данных, в edit1.text ввожу первую букву


 
Choco ©   (2007-03-15 16:41) [1]

люди, подскажите, что не так??


 
Плохиш ©   (2007-03-15 16:51) [2]


> подскажите где у меня ошибка:

Вот в этих строчках

> ADOTable1.Filter:=s+""""+Edit1.text+"*""";
> ADOTable1.Filtered:=true;
>  if Edit1.Text="" then
> ADOTable1.Filtered:=false;


> люди, подскажите, что не так??

Отсутствие знаний и логики, или наоборот...


 
Wood   (2007-03-16 04:14) [3]

Прошу прощения, но я хотел бы подключиться к теме этого вопроса. т.к. начал изучать ADO.
ADODataSet->ADOConnect->mdb
в ADODataSet commandtext "select * from country".
пробую динамическую фильтрацию при наборе в поле грида (текстовое значение):
mTable.Filter:=DBG_sp.Columns.Items[1].FieldName+" = "+QuotedStr(se_str);
        mTable.Filtered:=True; //mTable ->TADODataSet

Мало того, что в гриде сразу исчезают все значения, при вводе следующего символа, ругается, что уже eof и нечего искать. Пробовал менять Курсортип, не помогает.. Информация по работе с данным компонентом скудная :(
Может, при работе фильтра на самом деле работает запрос "select" ? Или плюнуть на фильтр и использовать "правильные" запросы?
Помогите, плз!
зы: погуглил, пояндексил, по..


 
Wood   (2007-03-16 07:11) [4]

Вот попробовал с примером фильтрации по ID (числовое поле) - работает.
Какие заморочки бывают при работе с фильтром, что в [3] не получается?


 
Choco ©   (2007-03-16 14:21) [5]

wood, решил ли проблему?


 
Wood   (2007-03-16 15:57) [6]


> Choco ©   (16.03.07 14:21) [5]

пока нет


 
Wood   (2007-03-16 16:27) [7]

так, выяснил, что фильтр по одной букве не фильтрует, при вводе целого слова фильтр работает. Значит надо like "%" или еще какие символы?


 
Wood   (2007-03-16 17:09) [8]

очень странно...
Пробовал свой пример на отдельном проекте
вот так:
ADODataSet1.Filter:="countnam Like ... и edit1.text"  и QuotedStr(Edit1.Text) и с символами и без них... нифига. Пока не сделал так:

...
var s: string;
s:=QuotedStr(Edit1.Text+"%");
ADODataSet1.Filter:="countname Like " +s;
ADODataSet1.Filtered:=True;

ну, и почему так?


 
stone ©   (2007-03-16 17:36) [9]


> Wood   (16.03.07 17:09) [8]

ты вообще как LIKE работает знаешь?


 
Плохиш ©   (2007-03-16 18:10) [10]


> stone ©   (16.03.07 17:36) [9]

Ты ещё спроси, а не прочитал ли он хотя бы одну книжку по тематике :-)


 
Wood   (2007-03-17 08:44) [11]


> Ты ещё спроси, а не прочитал ли он хотя бы одну книжку по
> тематике :-)

Понимаю, ув. Плохиш ©, что твой ник обязывает наезжать на "начинающих", но зачем в каждой теме повторять одно и тоже. Ведь ты прекрасно помнишь, что я недавно задал вопрос где найти информацию для изучения связки Delphi->mySQL, на что компетентные люди дали пару дельных советов найти литературу по ADO. и я читаю все, что найду. Я люблю читать. :)
У меня есть справка F1 и пара статей из сети по работе с ADO.
Начинал изучение работы с базами данных ч/з BDE (dbf, bd таблицы), юзал EDB, mySQL. Никогда небыло проблем с фильтрацией пока не взялся за mdb.

> ты вообще как LIKE работает знаешь?

я знаю, что я должен получить при запросе с like, используя символы "%"...
И там, где раньше проходило: <таблица>.Filter:= "field = "+QuotedStr(Edit1.Text);
совершенно не подошло для АDO.
Но больше всего меня удивило то, что не получилось
ADODataSet1.Filter:="countnam Like "+ QuotedStr(Edit1.Text+"%")
а пришлось присвоить строковой переменной тоже самое и заработало. Или это был глюк?



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

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
3-1169455907
AlexeyMir
2007-01-22 11:51
2007.04.08
Как в *.gdb в связанные таблицы добавить записи


15-1173882328
eXPell
2007-03-14 17:25
2007.04.08
Как бы вы поступили?


15-1173764861
pavel_guzhanov
2007-03-13 08:47
2007.04.08
Вопрос к линуксоидам.


8-1154522615
lyberzon
2006-08-02 16:43
2007.04.08
Функция извлечения цветов из BMP в массив


1-1171525882
oleg__
2007-02-15 10:51
2007.04.08
Прокрутка в TSrollBox