Главная страница
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.03 c
15-1174069619
Kerk
2007-03-16 21:26
2007.04.08
Как в аське установить аватарку?


15-1173769753
Чапаев
2007-03-13 10:09
2007.04.08
Увольнение по собственному желанию


1-1171298579
Vid0g
2007-02-12 19:42
2007.04.08
Добавление/Извлечение ресурсов в программе


1-1170676693
Kolan
2007-02-05 14:58
2007.04.08
Canvas.TextWidth вешает программу.


2-1174455382
User_OKA
2007-03-21 08:36
2007.04.08
Алгоритм