Главная страница
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.01 c
3-1236248430
WeTeR
2009-03-05 13:20
2010.03.21
Процедура для определения типа столбца таблицы


4-1228124695
markers
2008-12-01 12:44
2010.03.21
System Error 5


2-1263941575
bagos
2010-01-20 01:52
2010.03.21
hex to demical


2-1263924681
Б
2010-01-19 21:11
2010.03.21
Сколько различных символов содержит строка.


3-1236244034
ArchValentin
2009-03-05 12:07
2010.03.21
Проблема с DBGridEh библиотеки EhLib и Адо