Ошибка TQuery: Field 'ID' nod found

программирование sql Delphi query count

Подскажите в чем причина ошибки? Когда пишу:

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from kadr');
Query1.Open;

то все нормально работает, таблицу выводит, а когда пытаюсь подсчитать количество записей

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select count(*) FROM Kadr');
Query1.Open;
- выдает ошибку "Query1: Field 'ID' not fouund".
Ответы:
Потому что когда выполняется первый запрос у Query1 заполняется коллекция полей Fields, среди которых есть ID. Потом запрос меняется и поля ID в выборке больше нет, а в коллекции элемент остался. Поэтому либо нужно использовать другой TQuery, либо делать Query1.Fields.Clear
Далее. Query1.SQL.Clear; - лишнее. Можно делать так:
Query1.SQL.text := 'Select count(*) FROM Kadr';
И последнее. Использовать один экземпляр для выполнения разных запросов - не лучшее решение с точки зрения производительности.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.