Главная страница
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.015 c
6-1214573401
Галинка
2008-06-27 17:30
2010.03.21
как передать строку в сокет?


2-1263542459
Andy BitOff
2010-01-15 11:00
2010.03.21
Нумерация страниц в Ворде


2-1264116575
pazitiff
2010-01-22 02:29
2010.03.21
Invalid pointer operation


1-1242287326
SPeller
2009-05-14 11:48
2010.03.21
А можно ли в дельфи импортировать функции, написанные на C++?


11-1214116630
Trejder
2008-06-22 10:37
2010.03.21
Delphi + KOL = WinCE?