Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2007, 15:33   #1
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию Своеобразный запрос или фильтр

я реализовал запрос:
Select FIO, NPP, DR
From dbo.ssp
where fio=:id5
id5 привязан к Edit1
Вопрос: при заполнении пользователи совершают ошибки, в виде двух пробелов, опечатков и т.д. как сделать, чтобы пробелы не учитывались?
И еще при вводе например Петро* выводились все у кого начинаются фамилии с Петро?
ГОСЕАН вне форума Ответить с цитированием
Старый 24.12.2007, 16:31   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от ГОСЕАН Посмотреть сообщение
я реализовал запрос:
Select FIO, NPP, DR
From dbo.ssp
where fio=:id5
id5 привязан к Edit1
Вопрос: при заполнении пользователи совершают ошибки, в виде двух пробелов, опечатков и т.д. как сделать, чтобы пробелы не учитывались?
И еще при вводе например Петро* выводились все у кого начинаются фамилии с Петро?
От опечаток вас ничто не спасет. Если пробелы недопустимы, сделайте функцию проверки с удалением пробелов...
А по поводу второго вопроса - есть такой оператор LIKE.
mihali4 вне форума Ответить с цитированием
Старый 26.12.2007, 15:06   #3
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
От опечаток вас ничто не спасет. Если пробелы недопустимы, сделайте функцию проверки с удалением пробелов...
А по поводу второго вопроса - есть такой оператор LIKE.
интересно бы код функции удалении лишних пробелов в поле

ГОСЕАН вне форума Ответить с цитированием
Старый 26.12.2007, 18:53   #4
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

Фун. StringReplace(). Вот пример удаляет из строки все пробелы.
Код:
var
  S:string;
begin
  S:=Edit1.Text;
  S:=StringReplace(S,' ','',[rfReplaceAll]);
  Edit1.Text:=S;
end;
Domovoy вне форума Ответить с цитированием
Старый 27.12.2007, 13:38   #5
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Можно так написать
select FIO, NPP, DR
from dbo.ssp
where (fio= :id5) and UPPER(FIO) like "%'edit1.text'%"

в таком случае выбор записей будет происходить чтобы не было введено в Edit, он будет искать любой попавшийся символ в поле FIO
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 27.12.2007, 14:52   #6
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от Killer_djon Посмотреть сообщение
Можно так написать
select FIO, NPP, DR
from dbo.ssp
where (fio= :id5) and UPPER(FIO) like "%'edit1.text'%"

в таком случае выбор записей будет происходить чтобы не было введено в Edit, он будет искать любой попавшийся символ в поле FIO
Спасибо, очень помогли!
ГОСЕАН вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
своеобразный отчёт из бд TaTT DoGG БД в Delphi 14 14.06.2008 20:13
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
Запрос или Фильтр wolfik0 БД в Delphi 3 02.05.2008 04:42
Фильтр Инночка Помощь студентам 4 30.04.2008 20:27
фильтр в dbgrid ГОСЕАН БД в Delphi 2 24.12.2007 15:14