| 
| 
 | Вопрос # 219/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!!! У меня такая проблема: использую компонеты IBDatabase,IBTransaction,IBQuery. Нужно обработать данные возвращаемые запросом. Цикл Repeat не работает потому как FindNext не срабатывает. RecordCount возвращает 1 (RecNo тоже глюк). Если ставлю DBGrid, то RecordCount  возвращает правильное значение, все работает как положено. Что делать? Как обойтись без лишних компонентов? 
|  |   Вопрос задал: Храмцов Денис (статус: 1-ый класс)Вопрос отправлен: 26 декабря 2006, 08:50
 Состояние вопроса: открыт, ответов: 4.
 |  Ответ #1. Отвечает эксперт: Alex Van Glukhman Здравствуйте, hdrus!
 Всё должно работать - хотелось бы увидеть код,  структуру таблицы и SQL запрос.
 
|  | Ответ отправил: Alex Van Glukhman (статус: 7-ой класс)Время отправки: 26 декабря 2006, 09:32
 
 |  Ответ #2. Отвечает эксперт: Knjazev Здравствуйте, hdrus!Попробуйте перед циклом выполнить IBQuery1.FetchAll - это заставит запрос вернуть все записи
 Рекомендую схему:
 ...
 IBQuery1.Active := true;
 IBQuery1.FetchAll;
 IBQuery1.First;
 while not IBQuery1.Eof do
 begin
 //do something
 IBQuery1.Next;
 end;
 IBQuery1.Active := false;
 ...
 Читайте учебники!
 
|  | Ответ отправил: Knjazev (статус: 3-ий класс)Время отправки: 26 декабря 2006, 10:00
 Оценка за ответ: 5
 Комментарий к оценке: Учебники читаю. За совет большое спасибо.Сработало. |  Ответ #3. Отвечает эксперт: Помфюк Владимир Степанович Здравствуйте, hdrus!А почему бы не
 while not(IBQuery.EOF) do
 ?
 Ответ #4. Отвечает эксперт: ANBsoft Злоумышленник написал все подробно,хотя IBQuery1.FetchAll; - лишняя команда в таком исполнении (можно также дать IBQuery1.Last; с тем же результатом), она нужна только в случае если необходимо заранее знать точное количество записей (например при создании вариантного массива и перекачивании в него данных из запроса).
 
|  | Ответ отправил: ANBsoft (статус: Студент)Время отправки: 26 декабря 2006, 20:51
 
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |