Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
MS Access

Ошибка при попытке прочтения result set SQL запроса

02.03.2018, 11:57. Показов 1593. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Подскажите пожалуйста.
C++
1
2
3
4
5
6
7
8
  int resultsql;
  ADOQuery1->Close();
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("SELECT COUNT(*) FROM [Devices] WHERE Device="+QuotedStr(DBLookupComboBox1->Text)+"");        
  ADOQuery1->Open();
  ADOQuery1->Close();
  resultsql = ADOQuery1->Fields->Fields[0]->AsInteger;
  Label1->Caption=IntToStr(resultsql);
Пытаюсь получить число записей с определенным значением.
НО при попытке получить result set (т.е. при выполнении строки resultsql = ADOQuery1->Fields->Fields[0]->AsInteger; появляется ошибка

Если правильно понимаю, нет такого поля с индексом 0. Но куда тогда записался result set. В таблице точно есть минимум одна запись.
Подскажите как решить проблему.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.03.2018, 11:57
Ответы с готовыми решениями:

Ошибка "CommandText does not return a result set при пустой базе Sql"
есть вот такой код procedure TForm2.FormCreate(Sender: TObject); begin if adoquery10<>nil then begin ADOQuery9.close; ...

Ошибка при выполнении процедуры: "CommandText does not return a result set"
Процедура: procedure TForm1.Button5Click(Sender: TObject); var help1, help2:String; begin help1:='%'+Form4.Edit1.Text+'%'; ...

Ошибка CommandText does not return a result set
Добрый день. Подскажите, как исправить эту ошибку - ADOQuery6: CommandText does not return a result set. При выполнении запроса вот с таким...

4
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
02.03.2018, 12:19  [ТС]
Пробую таким образом
C++
1
2
3
4
5
6
7
  ADOQuery1->Close();
  ADOQuery1->SQL->Clear();
  ADOQuery1->SQL->Add("SELECT COUNT(*) as num  FROM [Devices] WHERE Device="+QuotedStr(DBLookupComboBox1->Text)+"");
  ADOQuery1->Open();
  ADOQuery1->Close();
  resultsql = ADOQuery1->FieldByName("num")->AsInteger;
  Label1->Caption=IntToStr(resultsql);
Поле num создал типа integer. Но возвращается значение 0, хотя одна запись точно имеется.
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,371
Записей в блоге: 3
02.03.2018, 14:24
Насколько я не ошибаюсь, Count считает количество записей по конкретному полю, т.е. модификатор * тут как бы не уместен...
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
02.03.2018, 14:38  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Насколько я не ошибаюсь, Count считает количество записей по конкретному полю, т.е. модификатор * тут как бы не уместен...
Пробовал обращаться и к конкретным полям. Результат тот же(((
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,371
Записей в блоге: 3
02.03.2018, 14:42
Лучший ответ Сообщение было отмечено Alex_From_777 как решение

Решение

Цитата Сообщение от Alex_From_777 Посмотреть сообщение
ADOQuery1->Open();
ADOQuery1->Close();
resultsql = ADOQuery1->FieldByName("num")->AsInteger;
Не, вообще шикарно: сначала выполнить запрос, потом закрыть его, тем самым уничтожив все результаты выборки, а потом пытаться из закрытого запроса какие-то данные вытянуть...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.03.2018, 14:42
Помогаю со студенческими работами здесь

Ошибка: ADODataSet1:CommandText does not return a result set
Здравствуйте ! При выполнении последней команды " ADODataSet1.Active:=True; " появляется сообщение: " ADODataSet1:CommandText...

Странная ошибка: Not allowed to return a result set from a function
CREATE FUNCTION cena1243() RETURNS INTEGER BEGIN DECLARE a,b,sum1 INTEGER; SELECT * FROM tovar t JOIN zakaz z; ...

Ошибка при попытке вывести сумму полей из запроса
Ошибка "..не удается найти входную таблицу или запрос..." при выполнении программы, которая выводит сумму полей из перекрестного запроса на...

Ошибка SQL запрос: SET CHARACTER SET 'utf8';
Два года назад на одном из форумов некто задал вопрос (см. ниже), на который так никто и не ответил. У меня сейчас точная копия проблемы....

При попытке изменить таблицу в SQL появляется ошибка
Создана база данных, при попытке внести данные в таблицу и при нажатии команды "изменить первые 200 строк" появляется такая...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru