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

Вниз

Фильтрация ADOQuery   Найти похожие ветки 

 
remlin   (2007-05-18 19:02) [0]

Здравствуйте.
В программе использую ADOQuery. Необходимо отсортировать данные в возращенном наборе.
Пишу:
ADOQuery.Filter := "Pole = "Арм*"";
ADOQuery.Filtered := true;

но хотя и есть слова например "Арматура" в Gride нечего не тображается. Отображается только при полном совпадении слова???
А FilterOptions вообще не поддерживается.


 
Правильный ВАся   (2007-05-18 19:18) [1]


> Необходимо отсортировать данные в возращенном наборе.Пишу:
> ADOQuery.Filter :=

так тебе сортировать или фильтровать
а может мордовать?


 
Anatoly Podgoretsky ©   (2007-05-18 21:43) [2]

> remlin  (18.05.2007 19:02:00)  [0]

Это вообще не откомпилируется


 
remlin   (2007-05-19 10:30) [3]

Извиняюсь.
Надо Фильтровать.


 
Jan1   (2007-05-19 11:16) [4]

чем не устраивает использовать WHERE?


 
sniknik ©   (2007-05-19 11:24) [5]

вместо * поставь %


 
remlin   (2007-05-19 15:05) [6]

>вместо * поставь %
Один фиг не помогает.

Where возращает не все записи из базы.
Мне нужны все записи.


 
Sashok2007   (2007-05-19 15:16) [7]

Попробуй так "Pole="+QuotedStr("Фильтр")...........ну и [5] соответственно.


 
Anatoly Podgoretsky ©   (2007-05-19 15:23) [8]

> remlin  (19.05.2007 15:05:06)  [6]

Значит надо убрать Where, поскольку он как раз для того, что бы возвращать не все записи.


 
sniknik ©   (2007-05-19 15:28) [9]

> Значит надо убрать Where, поскольку он как раз для того, что бы возвращать не все записи.
ага как всегда, сначала нужны все записи... а зачем? а чтобы было потом отфильтровать и получить нужные... ;о)

> Один фиг не помогает.
тогда вместо Pole = "Арм*" напиши Pole LIKE "Арм%"


 
Anatoly Podgoretsky ©   (2007-05-19 16:03) [10]

> sniknik  (19.05.2007 15:28:09)  [9]

ССЗБ


 
remlin   (2007-05-19 16:43) [11]

Нехочу использовать WHERe потому что фильтрацию привязываю к событию Change компонента Edit, И тогда код будет выглядеть так:
procedure TForm1.FilterEditChange(Sender: TObject);
begin
 if FilterCheckBox.Checked = true then
 begin
   ADOQuery.Close;
   ADOQuery.SQL.Text := "SELECT * From Orders WHERE Address LIKE " + """" + FilterEdit.Text + """";
   ADOQuery.Open;
 end;
end;
, т.е. при большом кол-ве записей и многих пользователей - и клиент и сеть будут тормозить.
Фильтрация  с помощью свойства Filter будет работать только на стороне клиента. - соотв. некаких лишних запрсов к базе.

Пробовал:
ADOQuery.Filter := "Address = " + QuotedStr("г.Мос*");  и
ADOQuery.Filter := "Address = " + QuotedStr("г.Мос%");нифига неработает.,
а так:
ADOQuery.Filter := "Address = " + QuotedStr("г.Москва"); - работает


 
Jan1   (2007-05-19 17:15) [12]


> что фильтрацию привязываю к событию Change компонента Edit,
>  

Зачем? Пользователь должен ввести сначала, потом нажать Ентер и только потом надо слать запрос. Если у Вас курсовая то никакой сети непридумывайте.


> ADOQuery.Close;
>    ADOQuery.SQL.Text := "SELECT * From Orders WHERE Address
> LIKE " + """" + FilterEdit.Text + """";
>    ADOQuery.Open;

есть параметры. читали? TParameters + F1


 
Savek   (2007-05-19 18:00) [13]


ADOQuery.Filter := "Address Like " + QuotedStr("г.Мос%");

так будет работать


 
remlin   (2007-05-19 20:49) [14]

> Savek
Спасибо! Работает!



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

Форум: "Базы";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.055 c
15-1188253671
Petr V. Abramov
2007-08-28 02:27
2007.09.23
А почему тут нет вопросов по QuntumGrid


2-1188363807
alshtam
2007-08-29 09:03
2007.09.23
проблема с ShellExecuteEx


4-1174852733
Альберт
2007-03-25 23:58
2007.09.23
запускается чужая программа, надо узнать хэндл окна...


15-1188199690
Ricks
2007-08-27 11:28
2007.09.23
Может ли "намагнититься" LCD монитор?


2-1188239126
Евгений Р.
2007-08-27 22:25
2007.09.23
Вертикальный текст





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский