Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

регистр при фильтрации


linox ©   (2009-08-03 21:42:00) 

Доброго время суток,.. у меня вопрос...
есть база Access. Данные в DBGrid выводятся с помощью ADOQuery. Запрос через SQL. Есть фильтрация по полю, но вильтрация учитывает верхний или нижний регистр... как сделать, чтобы этого учета не было


StriderMan   (2009-08-04 13:00:00) [1]

а Фильтрация на клиенте или в запросе ?
Если первое - то [18],
если второе то   ...UPPER(<поле>) LIKE UPPER(<шаблон>)или CONTAINING(...)


Anatoly Podgoretsky   (2009-08-04 12:29:00) [2]

> brother  (04.08.2009 12:16:17)  [17]

Остальные быстро решают задачу, либо с помощью форума, либо самостоятельно, поэтому в общем потоке незаметны.


Виталий Панасенко   (2009-08-04 12:18:00) [3]


> linox   (04.08.09 10:48) [9]
>
> 2 Виталий Панасенко
> >приведи к общему регистру значение и условие фильтра
> как?

мдя......используй функции AnsiUpperCase/AnsiCompareText(кажись так) на выбор


brother   (2009-08-04 12:16:00) [4]

> Но автор стойкий партизан.

последнее время, одни стойкие идут)


Anatoly Podgoretsky   (2009-08-04 12:14:00) [5]

Но автор стойкий партизан.


Anatoly Podgoretsky   (2009-08-04 12:13:00) [6]


> SELECT "1"="2", "Компьютер" = "компьютер", "компьютер"="КОМПЬЮТЕР",
>  True

Вообще то вопрос про фильтр, а не про выборку.

Во вторых вопрос про компьютер Ы, а не про компьютер, но тут возможно он просто описался

Ну и в третьих цитата

> но вильтрация учитывает верхний или нижний регистр... как
> сделать, чтобы этого учета не было


brother   (2009-08-04 12:06:00) [7]

> хм. так ему похоже наоборот нужно сделать регистрозависимость,
> а не убрать ее.

нет

> Затем  что например среди 64000 записей есть например 1500
> компютеров, некоторые записаны "Компьютер" , " компьютер",
> "КОМПЬЮТЕР", и нужно выбрать только компьютеры....

именно регистронезависимость

> но вильтрация учитывает верхний или нижний регистр... как
> сделать, чтобы этого учета не было


sniknik   (2009-08-04 11:57:00) [8]

>>  "КОМПЬЮТЕР", и нужно выбрать только компьютеры
> Вы, эта, сами-то понимаете, что вам нужно?
хм. так ему похоже наоборот нужно сделать регистрозависимость, а не убрать ее.


sniknik   (2009-08-04 11:55:00) [9]

> некоторые записаны "Компьютер" , "компьютер", "КОМПЬЮТЕР"
и что? с точки зрения jet/ADO это ОДНО И ТОЖЕ. так же как MSSQL или другой движок имеющий понятие "коллатион". и также как устроен фильтр локального рекордсета в ADO.

для тех кто понимает проверка
SELECT "1"="2", "Компьютер" = "компьютер", "компьютер"="КОМПЬЮТЕР", True
вернет
0, -1, -1, -1


brother   (2009-08-04 11:21:00) [10]

> А может у него ошибка в программе?

строку мы знаем)


Anatoly Podgoretsky   (2009-08-04 11:19:00) [11]

А может у него ошибка в программе?


linox   (2009-08-04 10:48:00) [12]

2 Виталий Панасенко
>приведи к общему регистру значение и условие фильтра
как?


Плохиш   (2009-08-04 10:47:00) [13]


> linox   (03.08.09 21:42)  


> Есть фильтрация по полю, но вильтрация учитывает верхний
> или нижний регистр... как сделать, чтобы этого учета не
> было



> linox   (04.08.09 09:35) [4]
>
> Затем  что например среди 64000 записей есть например 1500
> компютеров, некоторые записаны "Компьютер" , "компьютер",
>  "КОМПЬЮТЕР", и нужно выбрать только компьютеры

Вы, эта, сами-то понимаете, что вам нужно?


Виталий Панасенко   (2009-08-04 10:45:00) [14]

Если уж внатуре что-то начудил, используй OnFilterRecord, там приведи к общему регистру значение и условие фильтра


Anatoly Podgoretsky   (2009-08-04 10:01:00) [15]

Зациклился


Palladin   (2009-08-04 09:51:00) [16]

А не нужно допускать такое заполнение БД.


linox   (2009-08-04 09:35:00) [17]

Затем  что например среди 64000 записей есть например 1500 компютеров, некоторые записаны "Компьютер" , "компьютер", "КОМПЬЮТЕР", и нужно выбрать только компьютеры....


sniknik   (2009-08-03 22:30:00) [18]

читать умеешь, где написано что нельзя? написано что оно УЖЕ так есть, зачем что то делать?


linox   (2009-08-03 22:03:00) [19]

и никак нильзя? есть 64000 записей... и некоторые большими буквами а некоторые маленькими... и нужно чтобы выдавало все записи.. (


sniknik   (2009-08-03 21:55:00) [20]

ничего не делать, оно так и есть.


Наверх

Титульная страница Поиск, карта сайта Написать письмо