Форум: "Начинающим";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];
Внизкак осуществить выборку с помощью SQL? Найти похожие ветки
← →
igorntk (2009-03-18 12:17) [0]без учета регистра и окончания слов?
Сделал без учета регистра: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
?
← →
Palladin © (2009-03-18 12:18) [1]
> Возможно ли добавить LIKE?
и что мешает?
← →
igorntk (2009-03-18 12:20) [2]Не получается правильно дописать
← →
Palladin © (2009-03-18 12:24) [3]что дописать?
← →
sniknik © (2009-03-18 12:31) [4]> Возможно ли добавить LIKE?
лучше не добавить, а заменить... (то что у тебя там счаз в where) т.к. точное сравнение это частность от сравнения на начало "без окончания слова".
чтобы не было двойной проверки одного и того же.
> Не получается правильно дописать
допиши неправильно. потом исправь...
← →
igorntk (2009-03-18 12:32) [5]не могу дописать в данный код оператор LIKE, чтобы была возможность поиска без учета регистра и окончания слов.
Либо так:Query1.SQL.Add("where upper(trim(NAIMEN))= "" + Edit2.Text + """);
либо так:Query1.SQL.Add("where NAIMEN like "" + Edit2.Text + ""||"%"");
А чтобы одновременно искал по этим параметрам сделать не могу.
← →
немо2 (2009-03-18 12:51) [6]чтобы одновременно
where
условие
or
условие
← →
igorntk (2009-03-18 13:20) [7]А можно подробнее, как это сделать? Не совсем получается...
← →
немо2 (2009-03-18 13:26) [8]Query1.SQL.text:=
" select "+
" clCol1, clCol2 "+
" from "+
" tbTabl "+
" where "+
" clCol1 = 1 "+
" or "+
" clCol2 = 2 ";
← →
igorntk (2009-03-18 14:54) [9]Почему при использовании
CONTAINING
появляется ошибка: "Capability not supported"? ведь как раз этот оператор удобен тем, что не чувствителен к ресгистру
← →
sniknik © (2009-03-18 15:36) [10]какие подлые разработчики используемого тобой движка... не реализовали с CONTAINING тот вариант который ты ему пытаешься пропихнуть...
в суд на них подай... за моральное неудобство...
← →
igorntk (2009-03-18 16:32) [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 будет работать?
← →
Медвежонок Пятачок © (2009-03-18 16:36) [12]ни в каком
"C:\Program Files\Common Files\Borland Shared\BDE\localsql.hlp"
← →
немо2 (2009-03-18 17:03) [13]where NAIMEN like "a%"
← →
Anatoly Podgoretsky © (2009-03-18 19:38) [14]Не надрывайтесь, нет у него базы
← →
Anatoly Podgoretsky © (2009-03-18 19:39) [15]У него только D7 и XP
← →
igorntk (2009-03-19 08:37) [16]База DBase.
поиск поwhere NAIMEN like "a%"
дает результат:
автор;
акула;
актер.
Мне нужен резльтат таким:
автор;
Абрикос;
акула;
АНГАР;
актер.
Подскажите, пожалуйста, как правильно написать код, чтобы получился поиск без учета регистра?
← →
12 (2009-03-19 08:52) [17]where (NAIMEN like "a%" ) or (NAIMEN like "A%")
← →
pavel_guzhanov © (2009-03-19 09:04) [18]where upper(naimen) like "А%"
← →
MonoLife © (2009-03-19 13:47) [19]Или вообще поставить:
LIKE QuotedStr(%a%)
> igorntk (19.03.09 08:37) [16]
Зачем здесь поиск по "а"? В таком случае достаточно сортировки (фильтра)
← →
igorntk (2009-03-19 14:08) [20]
> pavel_guzhanov © (19.03.09 09:04) [18]
> where upper(naimen) like "А%"
Спасибо!
← →
sniknik © (2009-03-19 14:45) [21]> Спасибо!
лучше бы сказал спасибо за
> 12 (19.03.09 08:52) [17]
> where (NAIMEN like "a%" ) or (NAIMEN like "A%")
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.05.03;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.006 c