Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
1

Выборка Delphi

22.08.2013, 15:11. Показов 1050. Ответов 13
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select count(*)');
Query1.SQL.Add('from workers');
Query1.sql.add('where Post="Агент ГТиВП"');
Query1.Open;
Задача посчитать кол-во записей в таблице workers в столбце Post с параметром Агент ГТиВП!

Код не работает подскажите что не так?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2013, 15:11
Ответы с готовыми решениями:

Ценовая выборка в Delphi XE 5
Уважаемые форумчане,прошу вашей помощи: у меня есть программа связанная с базой в Access,в access...

выборка в delphi по типу boolean
Здравствуйте! Нужен совет. Необходимо выбрать всех учащихся, кто не закончил учиться (у таких...

Выборка данных из таблицы в Delphi
Добрый день. подскажите пожалуйста, как с помощью двух ComboBox-в сделать выбор данных из AdoTable...

Выборка строки из таблицы БД Access ADO Delphi 7
Всем доброго времени суток. Есть небольшая проблемка - пишу прогу для работы с БД абонентов. Суть...

13
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 15:46 2
А как определено, что код не работает?
Приведенный фрагмент не содержит явного криминала, если это СУБД Аксесс (хорошо бы сразу объявлять об используемой СУБД).
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 15:50  [ТС] 3
Paradox
0
Миниатюры
Выборка Delphi  
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 15:56 4
И где в запросе, который показан в первом посте поле Emp_number?
Ошибка, скорее всего, происходит не в том месте, фрагмент которого показан вначале.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 16:01  [ТС] 5
Дело в том что поле это существует, не понимаю почему его не находит
0
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 16:14 6
Когда выполняется выборка с функцией COUNT(*), то никаких полей из таблицы запрос не предоставляет, независимо от того что указано в скобках функции.
Поэтому, если после такого запроса обратиться к любому полю, которое есть в таблице будет сгенерирована приведенная ошибка.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 16:16  [ТС] 7
Как правильно сделать, то что мне требуется?
0
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 16:28 8
Delphi
1
2
3
Query1.SQL.Text := 'select count(*) AS Cnt from workers where Post="Агент ГТиВП"';
Query1.Open;
C := Query1['Cnt']; //C : Integer; В эту переменную присваивается результат
Close не требуется, т.к. при присвоении текста запроса датасет (здесь Query1) автоматически закрывается.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 16:31  [ТС] 9
Спасибо, но ошибка та же 1 в 1
0
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 16:40 10
У меня такой ошибки нет. Следовательно, мы здесь талдычим о разном.
А если так, то без проекта, видимо, не понять в чем причина ошибки.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 16:42  [ТС] 11
Хм, интересно, посмотрю сейчас еще раз.
0
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 16:50  [ТС] 12
Посмотри сам, что не так касаемо заданного вопроса?
0
Вложения
Тип файла: rar db.rar (358.7 Кб, 8 просмотров)
1073 / 986 / 340
Регистрация: 07.08.2012
Сообщений: 2,782
22.08.2013, 17:08 13
Структурная ошибка в том, что датасет Query1 занят результатом выборки и отображением данных в гриде.
Поэтому для подсчета или других операций над данными нужно применять другой компонент.
Вот в таком виде запрос вернул то что надо и без ошибки:
Delphi
1
2
3
4
5
6
procedure TForm1.Button4Click(Sender: TObject);
begin
  Query2.SQL.Text := 'select count(*) AS Cnt from workers where Post="Агент ГТиВП"';
  Query2.Open;
  Button4.Caption := IntToStr(Query2['Cnt']);
end;
1
6 / 6 / 1
Регистрация: 04.08.2013
Сообщений: 62
22.08.2013, 17:15  [ТС] 14
Огромное спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2013, 17:15

Автоматическая выборка значений переменных из Excel в Delphi 7
Добрый день. Помогите пожалуйста найти ошибку. Нужно осуществить автоматическую выборку значений...

Delphi и Access выборка, поиск, добавление данных
Добрый день. Давно не работал с Delphi. Да и опыта работы Delphi с БД Access не было. Такая...

Выборка значений в промежутке дат ADOQuery, TimeDataPicker, Delphi
Не получается выборка по заданному диапазону дат. Необходимо выводить записи с датами между...

Delphi+Sql+MS VFP Driver (выборка из таблиц без дублей)
Помогите разобраться в SQL, имеется вот такой запрос: К примеру приведу базу (dbf файл) содержащую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.