Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.21;
Скачать: CL | DM;

Вниз

Цикл   Найти похожие ветки 

 
Zalum   (2009-03-05 13:18) [0]

Делаю 1-ый запрос. Получаю количество данных. Делаю 2-ой запрос, и из полученного набора данных, мне нужно по порядку
перебрать каждый book_id,
и в зависимости от этого значения производить определенные действия:
(case FieldByName("book_ID").AsInteger of
                             21 : begin
                                  .....
                             22 : begin
)
Моя проблемма заключается в том, что не знаю как перебирать эти данные. Я пробовал делать в цикле for I := 0 to j-1 do, но так не верно.

with Unit1.IBQuery1 do
     begin
          SQL.Clear;
          SQL.Add(" select count(*) FROM Table1 "+
                        "WHERE .... "+
                        "order by ...");
                  ParamByName("...
                 
                  Open;
                      j := FieldByName("count").AsInteger;
                   Close;

with Unit1.IBQuery1 do
     begin
          SQL.Clear;
          SQL.Add(" select * FROM Table1 "+
                        "WHERE .... "+
                        "order by ...");
                  ParamByName("...
                 
                  Open;
                      for I := 0 to j-1 do
                      begin
                             
                             case FieldByName("book_ID").AsInteger of
                             21 : begin
                                  .....
                             22 : begin
                      end;

                   Close;
        end;


 
Сергей М. ©   (2009-03-05 13:21) [1]

with Unit1.IBQuery1 do
    begin
         SQL.Clear;
         SQL.Add(" select * FROM Table1 "+
                       "WHERE .... "+
                       "order by ...");
                 ParamByName("...
               
                 Open;
                  while not Eof do
                     begin
                           
                            case FieldByName("book_ID").AsInteger of
                            21 : begin
                                 .....
                            22 : begin
                          Next;
                     end;

                  Close;
       end;


 
Ega23 ©   (2009-03-05 13:23) [2]

Зачем 2 запроса?

with DataSe do
begin
 SQL.Text := "select * from Table where ....";
 try
   try
     Open;
     First;
     while not Eof do
     begin
       case FieldByName(...).AsInteger of
         21 : begin
                 ......
               end;
         22 : begin
                 ......
               end;
         .......
         else
            begin
              ........
            end;
       end;// case
       Next;
     end;
   except on E : Exception do
     ShowMessage(E.Message);
   end;
 finally
   Close;
 end;
end;


 
Zalum   (2009-03-05 13:31) [3]

Спасибо огромное!



Страницы: 1 вся ветка

Текущий архив: 2010.03.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1263741218
@!!ex
2010-01-17 18:13
2010.03.21
Как поместить кнопку на Caption в Windows Vista and later


15-1262280863
Kerk
2009-12-31 20:34
2010.03.21
А где можно сделать онлайн плейлист и слушать?


2-1263804946
Олег1963
2010-01-18 11:55
2010.03.21
RandomRange не компилируется в модуле


15-1262571775
uw
2010-01-04 05:22
2010.03.21
Что и требовалось доказать


2-1263392044
Виталий Панасенко
2010-01-13 17:14
2010.03.21
АДО и master-detail