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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2013, 23:11   #1
The Joker
Новичок
Джуниор
 
Регистрация: 02.07.2013
Сообщений: 1
По умолчанию Поиск

Помогите сделать поиск в TListbox по like
вот что у меня есть но он вроди не правильный только по целому названию ищет

Код:
if trim(edit4.Text)<>'' then
begin
DataModule4.query1.Close;
DataModule4.query1.SQL.Clear;
DataModule4.query1.SQL.Add('SELECT *');
DataModule4.query1.SQL.Add('FROM table\catik.db ');
DataModule4.query1.SQL.Add('WHERE LOWER(TRIM(Poroda))="'+ lowercase(trim(edit4.Text)) + '"');
DataModule4.query1.Open;
ListBox1.Clear;
for i:= 1 to DataModule4.Query1.RecordCount do
begin
listbox1.Items.Add(DataModule4.Query1.fieldbyname('Poroda').AsString);
ListBox1.ItemIndex:=ListBox1.ItemIndex+1;
DataModule4.Query1.Next;
end;
Memo1.Lines.LoadFromFile(DataModule4.Query1.fieldbyname('Put').asstring);
image1.Picture.LoadFromFile(DataModule4.Query1.fieldbyname('Kartinka').AsString);
end
else
begin
edit4.Text:= '';
 ref;
  form5.Label2.Caption:=ListBox1.Items.Strings[ListBox1.ItemIndex];
 
end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.07.2013 в 00:04.
The Joker вне форума Ответить с цитированием
Старый 03.07.2013, 08:03   #2
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

Я делаю так:
Код:
procedure TMain.SpeedButton1Click(Sender: TObject);
var i:integer;
  s:string;
begin
      s:='';
  for i:=0 to ListBox1.Items.Count - 1 do begin
    if i>0 then s:=s+',';
    s:=s+Format('''%s''',[ListBox1.Items[i]]);
  end;
      begin
  ClientDataSet3.Close;
  SQLQ.Close;
  SQLQ.SQL.Clear;
  SQLQ.SQL.Add('SELECT DISTINCT req.REQUEST_NUMBER, RPO.CAD_NUMBER PREV_OBJ, RNO.CAD_NUMBER NEW_OBJ');
  SQLQ.SQL.Add('FROM REQUEST.REQUEST req');
  SQLQ.SQL.Add('LEFT JOIN REQUEST.REQUEST_PREV_OBJ rpo ON RPO.REQUEST_ID = req.id ');
  SQLQ.SQL.Add('LEFT JOIN REQUEST.REQUEST_NEW_OBJ rno ON RNO.REQUEST_ID = req.id ');
  SQLQ.SQL.Add(Format('WHERE rpo.CAD_NUMBER IN (%s)',[s]));
  SQLQ.SQL.Add(Format('OR RNO.CAD_NUMBER IN (%s)',[s]));
  SQLQ.Open;
  ClientDataSet3.Open;
   id1 := SQLQ.Fields[0].AsInteger;
  SQLQ.Close;
  SQLQ.SQL.Clear;
  SQLQ.SQL.Add( inttostr(id1));
  SQLQ.Open;
      SpeedButton10.Visible:=true;
      end;
end;
данные свои подставляй, принцип должен быть понятен
demon-sheff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск KoC aka HoC БД в Delphi 2 09.03.2012 12:07
Поиск TotKogoNet Microsoft Office Excel 5 17.05.2011 18:15
Поиск в БД Lomka БД в Delphi 1 24.11.2009 23:18
Поиск в БД Karinka БД в Delphi 9 07.12.2008 16:25
Поиск в бд KAKTYC SQL, базы данных 3 25.07.2008 13:21