Главная страница
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.007 c
2-1263542459
Andy BitOff
2010-01-15 11:00
2010.03.21
Нумерация страниц в Ворде


2-1263562192
fford
2010-01-15 16:29
2010.03.21
вызов функции из потока


2-1263407163
Sunktor
2010-01-13 21:26
2010.03.21
Как установить компонент с расширением pas в CodeGear Delphi 2009


1-1241068432
MultIfleX
2009-04-30 09:13
2010.03.21
"Global" exception handler


15-1262035823
Юрий
2009-12-29 00:30
2010.03.21
С днем рождения ! 29 декабря 2009 вторник