![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Цикл [D7, IB6.x, dBase, FoxPro]
Zalum © (2009-03-05 13:18:00)Делаю 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;
Zalum (2009-03-05 13:31:00) [1]Спасибо огромное!
Ega23 (2009-03-05 13:23:00) [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;
Сергей М. (2009-03-05 13:21:00) [3]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;