Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.039 c
3-1168873266
jack128
2007-01-15 18:01
2007.04.08
Иерархия объектов в БД


15-1173902441
eXPell
2007-03-14 23:00
2007.04.08
От нечего делать....


15-1173776402
Vlad Oshin
2007-03-13 12:00
2007.04.08
рассказ. Мишка едет домой.


2-1174432039
koha
2007-03-21 02:07
2007.04.08
Function WinSvc.GetServiceDisplayName


15-1174021713
Tirael
2007-03-16 08:08
2007.04.08
Raid 0





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский