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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2013, 11:05   #11
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
var
  s : string;
begin
  s := Edit1.Text;
  repeat // чистим от лишних пробелов между параметрами
    s := StringReplace(s, ' ', '', [rfReplaceAll]);
  until pos(s, ' ') = 0;
  // вот здесь было-бы неплохо еще добавить проверку на наличие "запятой" в начале и конце строки
  Q.Close;
  // в запросе разделителем аргументов используется "запятая", можно изменить на другое
  Q.SelectSQL.Text := 'SELECT * FROM t_towns WHERE  '',''||:param||'','' CONTAINING '',''||id||'',''';
  Q.ParamByName('param').AsString := s;
  Q.Open;
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 08.08.2013, 11:22   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Yurk@, это FireBird или InterBase съест и только. ТС не оговорил используемое СУБД
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.08.2013, 11:25   #13
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

любая база сьест которая поддерживает CONTAINING, эт просто под рукой была FB-база)
ну а то что ТС не уточнил БД - *PARDON*

UPD: можно попробовать так:
Код:
Q.SelectSQL.Text := 'SELECT * FROM t_towns WHERE '',''||:param||'','' LIKE ''%,''||id||'',%''';
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 08.08.2013 в 11:50.
Yurk@ вне форума Ответить с цитированием
Старый 08.08.2013, 15:43   #14
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Всем спасибо ребята за помочь . Но не работает Компонент ADO СУБД MS.SQL

Цитата:
procedure TMain.BitBtn3Click(Sender: TObject);
var
s : string;
begin
s := Edit.Text;
repeat // чистим от лишних пробелов между параметрами
s := StringReplace(s, ' ', '', [rfReplaceAll]);
until pos(s, ' ') = 0;
// вот здесь было-бы неплохо еще добавить проверку на наличие "запятой" в начале и конце строки
OrdersQuery.Close;
// в запросе разделителем аргументов используется "запятая", можно изменить на другое
OrdersQuery.SQL.Text := 'SELECT * FROM Orders WHERE '',''||aram||'','' CONTAINING '',''||EmployeeID||'',''';
OrdersQuery.Parameters.ParamByName( 'param').Value := s;
OrdersQuery.Open;

end;

из ODAC на Oracle Тоже не работает

Цитата:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
s : string;
begin
s := Edit1.Text;
repeat //
s := StringReplace(s, ' ', '', [rfReplaceAll]);
until pos(s, ' ') = 0;

OraQuery1.Close;
//
OraQuery1.SQL.Text := 'SELECT employee_id, department_id, first_name, last_name,job_id,salary '+
'FROM employees WHERE '',''||aram||'','' CONTAINING '',''||employee_id||'',''';
OraQuery1.ParamByName('param').AsSt ring := s;
OraQuery1.Open;

end;
Ребята огромное спасибо, за внимание за помощь, Что делать буду без параметра пользовать
Без параметра, вот так работает хорошо

Цитата:
procedure TMain.Button1Click(Sender: TObject);
begin
if Edit1.Text ='' then begin
Beep();
MessageDlg('Фильтр по пустым значениям не выполнится', mtWarning, [mbOK], 0);
Edit1.SetFocus;
Abort;
Edit1.SetFocus;
end;
OrdersQuery.Close;
OrdersQuery.SQL.Clear;
OrdersQuery.SQL.Add('SELECT * FROM Orders');
OrdersQuery.SQL.Add('WHERE EmployeeID IN ('+ Edit1.Text+ ')');
OrdersQuery.Open;
end;
xxbesoxx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько условий в Экселе Margo1701 Microsoft Office Excel 9 29.07.2013 09:28
Условное форматирование несколько условий Artem_85 Microsoft Office Excel 3 09.11.2012 19:06
ЕСЛИ(И()) несколько условий VictorM Microsoft Office Excel 10 04.02.2012 15:40
Проверить несколько условий D.O.G Общие вопросы Delphi 3 15.10.2010 10:27
Удалить строки, несколько условий Zirat Microsoft Office Excel 5 19.09.2009 14:03