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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2013, 13:01   #11
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

Обошел все это так:
Код:
    
procedure TMain.SpeedButton1Click(Sender: TObject);
    var i:integer;
begin
for i := 0 to ListBox1.Items.Count - 1 do 
      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('WHERE rpo.CAD_NUMBER IN '''+Edit1.Text+'''');
SQLQ.SQL.Add('OR RNO.CAD_NUMBER IN '''+Edit1.Text+'''');
  SQLQ.Open;
  ClientDataSet3.Open;
   id1 := SQLQ.Fields[0].AsInteger;
  SQLQ.Close;
  SQLQ.SQL.Clear;
  SQLQ.SQL.Add( inttostr(id1));
  SQLQ.Open;
 end;
end;
и добавил еще одну процедуру:
Код:
procedure TMain.ListBox1Click(Sender: TObject);
begin
  Edit1.Text:= ListBox1.Items[ListBox1.ItemIndex];
end;
только вот приходится на каждую строчку нажимать, а цикл так и не работает
demon-sheff вне форума Ответить с цитированием
Старый 27.05.2013, 13:03   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не правильно. И на пост #10 так и не ответил
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.05.2013, 13:22   #13
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не правильно. И на пост #10 так и не ответил
в мемо содержится текс типа:
45:26:050210:1610
45:25:070109:572
45:25:070109:573

тип поля varchar
demon-sheff вне форума Ответить с цитированием
Старый 27.05.2013, 13:33   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
  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;
  // и в запросе
  ...
  SQLQ.SQL.Add(Format('WHERE rpo.CAD_NUMBER IN (%s)',[s]);
  SQLQ.SQL.Add(Format('OR RNO.CAD_NUMBER IN (%s)',[s]);
  ...
  // тогда SQLQ вернет все записи удовлетворяющие заданному условию
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.05.2013, 13:46   #15
demon-sheff
Пользователь
 
Регистрация: 21.03.2013
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
  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;
  // и в запросе
  ...
  SQLQ.SQL.Add(Format('WHERE rpo.CAD_NUMBER IN (%s)',[s]);
  SQLQ.SQL.Add(Format('OR RNO.CAD_NUMBER IN (%s)',[s]);
  ...
  // тогда SQLQ вернет все записи удовлетворяющие заданному условию
СПАСИБО ОГРОМНОЕ!!! ПОМОГЛО ОЧЕНЬ только вот здесь чуть чуть подправил
Код:
  SQLQ.SQL.Add(Format('WHERE rpo.CAD_NUMBER IN (%s)',[s]));
  SQLQ.SQL.Add(Format('OR RNO.CAD_NUMBER IN (%s)',[s]));
тем самым можно тему закрыть!
demon-sheff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести данные в виде колонок ListBox PascalABC.net Konstantin1706 Помощь студентам 1 22.12.2012 20:57
Данные из ListBox на лист "Остаток" СИВ Помощь студентам 0 20.12.2012 11:43
используя процедуру keypress и фунцию listbox.при нажатии на listbox менялась ее высота Алекс38 Общие вопросы Delphi 1 19.09.2012 19:36
Как упорядочить данные (перевести данные из стольбцов в строки)? opeck Microsoft Office Excel 3 21.11.2011 01:43
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23