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

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

как осуществить выборку с помощью SQL? [D7, XP]


Страницы:   1 2

igorntk ©   (2009-03-18 12:17:00) 

без учета регистра и окончания слов?

Сделал без учета регистра:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select kod, naimen from tovar.dbf');
Query1.SQL.Add('where upper(trim(NAIMEN))=  "' + Edit2.Text + '"');
Query1.Open;

Тут же нужно добавить возможность фильтрации без окончания слова. Возможно ли добавить LIKE?


sniknik   (2009-03-19 14:45:00) [1]

> Спасибо!
лучше бы сказал спасибо за
> 12   (19.03.09 08:52) [17]
> where (NAIMEN like  'a%' ) or (NAIMEN like  'A%')


igorntk   (2009-03-19 14:08:00) [2]


> pavel_guzhanov ©   (19.03.09 09:04) [18]
> where upper(naimen) like 'А%'

Спасибо!


MonoLife   (2009-03-19 13:47:00) [3]

Или вообще поставить: LIKE QuotedStr(%a%)

> igorntk   (19.03.09 08:37) [16]

Зачем здесь поиск по "а"? В таком случае достаточно сортировки (фильтра)


pavel_guzhanov   (2009-03-19 09:04:00) [4]

where upper(naimen) like 'А%'


12   (2009-03-19 08:52:00) [5]

where (NAIMEN like  'a%' ) or (NAIMEN like  'A%')


igorntk   (2009-03-19 08:37:00) [6]

База DBase.
поиск по where NAIMEN like  'a%'дает результат:
автор;
акула;
актер.
Мне нужен резльтат таким:
автор;
Абрикос;
акула;
АНГАР;
актер.
Подскажите, пожалуйста, как правильно написать код, чтобы получился поиск без учета регистра?


Anatoly Podgoretsky   (2009-03-18 19:39:00) [7]

У него только D7 и XP


Anatoly Podgoretsky   (2009-03-18 19:38:00) [8]

Не надрывайтесь, нет у него базы


немо2   (2009-03-18 17:03:00) [9]

where NAIMEN like  'a%'


Медвежонок Пятачок   (2009-03-18 16:36:00) [10]

ни в каком

"C:\Program Files\Common Files\Borland Shared\BDE\localsql.hlp"


igorntk   (2009-03-18 16:32:00) [11]

Вот так не работает:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select kod, naimen from tovar.dbf');
Query1.SQL.Add('where NAIMEN containing  "a"');
Query1.Open;

Подскажите, в каком виде CONTAINING будет работать?


sniknik   (2009-03-18 15:36:00) [12]

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


igorntk   (2009-03-18 14:54:00) [13]

Почему при использовании CONTAINING

появляется ошибка: "Capability not supported"? ведь как раз этот оператор удобен тем, что не чувствителен к ресгистру


немо2   (2009-03-18 13:26:00) [14]

Query1.SQL.text:=
' select                           '+
'   clCol1, clCol2                '+
' from                              '+
'   tbTabl                         '+
' where                            '+
'   clCol1 = 1                     '+
'  or                                '+
'   clCol2 = 2                     ';


igorntk   (2009-03-18 13:20:00) [15]

А можно подробнее, как это сделать? Не совсем получается...


немо2   (2009-03-18 12:51:00) [16]

чтобы одновременно

where
 условие
or
 условие


igorntk   (2009-03-18 12:32:00) [17]

не могу  дописать в данный код оператор LIKE, чтобы была возможность поиска без учета регистра и окончания слов.
Либо так:
Query1.SQL.Add('where upper(trim(NAIMEN))=  "' + Edit2.Text + '"');
либо так:
Query1.SQL.Add('where NAIMEN like  "' + Edit2.Text + '"||"%"');
А чтобы одновременно искал по этим параметрам сделать не могу.


sniknik   (2009-03-18 12:31:00) [18]

> Возможно ли добавить LIKE?
лучше не добавить, а заменить... (то что у тебя там счаз в where) т.к. точное сравнение это частность от сравнения на начало "без окончания слова".
чтобы не было двойной проверки одного и того же.

> Не получается правильно дописать
допиши неправильно. потом исправь...


Palladin   (2009-03-18 12:24:00) [19]

что дописать?


igorntk   (2009-03-18 12:20:00) [20]

Не получается правильно дописать


Страницы:   1 2

Наверх

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