108 / 14 / 7
Регистрация: 06.07.2013
Сообщений: 268

Как перебрать все строки в TADOQuery?

10.11.2017, 06:20. Показов 4953. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал вот такой код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function TRegionRepository.GetAllObject: TList<TRegion>;
var
  i: Integer;
  myid: Integer;
  name: string;
  tReg: TRegion;
  regionList: TList<TRegion>;
begin
  DbConnect.Fdm.DbQuery.Active := False;
  DbConnect.Fdm.DbQuery.SQL.Clear();
  DbConnect.Fdm.DbQuery.SQL.Add('SELECT * FROM Region');
  DbConnect.Fdm.DbQuery.Active := True;
 
  regionList := TList<TRegion>.Create();
 
  for i := 0 to DbConnect.Fdm.DbQuery.RecordCount - 1 do
  begin
    myid := DbConnect.Fdm.DbQuery.Fields[0].AsInteger;
    name := DbConnect.Fdm.DbQuery.Fields[1].AsString;
    if DbConnect.Fdm.DbQuery.Fields[0] <> nil then // Пытался проверять на nil
    regionList.Add(TRegion.Create(myid, name));
    DbConnect.Fdm.DbQuery.Next;
  end;
  Result := regionList;
end;
Код как бы работает, вот только добавление новых членов в список продолжается после того как по идее все строки кончились. Все поля таких объектов равны nil. Что я делаю не так?
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2017, 06:20
Ответы с готовыми решениями:

Как перебрать все строки ListView в цикле, если при этом некоторые строки удаляются?
cnt = lv.ListItems.Count For i = 1 To cnt If lv.ListItems.Item(i).Selected Then ... тут чего-то делаем...

Как перебрать все строки MS SQL
Как можно перебрать все строки таблицы в программе, когда нет суррогатного ключа?

Как построчно перебрать все строки в файле?
Хотелось бы перебрать все строки в файле и построить потом график, с графиком уже подсказали как его можно сделать пошире, а вот как...

4
108 / 14 / 7
Регистрация: 06.07.2013
Сообщений: 268
10.11.2017, 06:58  [ТС]
Лишние объекты существуют только в режиме отладки, в компоненте ListView список выглядит правильно, что собственно наводит на мысль "Что этот отладчик себе позволяет?". Тема закрыта.
0
 Аватар для ZfoxAK
670 / 560 / 242
Регистрация: 26.11.2012
Сообщений: 2,191
10.11.2017, 07:09
Delphi
1
2
3
4
5
6
ADOQuery1.First;
 while not ADOQuery1.Eof do
 begin
  //какой-то код
 ADOQuery1.Next;
 end;
0
108 / 14 / 7
Регистрация: 06.07.2013
Сообщений: 268
10.11.2017, 07:49  [ТС]
Цитата Сообщение от ZfoxAK Посмотреть сообщение
while not ADOQuery1.Eof do
Я пробовал while перед тем как создать тему.
0
 Аватар для krapotkin
6851 / 4677 / 1465
Регистрация: 14.04.2014
Сообщений: 20,674
Записей в блоге: 21
10.11.2017, 08:22
поля объектов ADOQuery не могут быть нил
а вот дебаггер может лажать. иногда. слегка))
а работа с датасетом производится как написано в #3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2017, 08:22
Помогаю со студенческими работами здесь

Как в цикле перебрать все элементы отдельного столбца или строки?
Подскажите как такой цикл пробегается по элементам? for (i=1;i&lt;9;i++) for(j=1;j&lt;9;j++) по скрину подскажите как...

Как с через xpath перебрать все строки и ячейки HTML таблицы
Хелп! Бьюсь не один день. Есть к примеру такая таблица &lt;table class=&quot;list_rek_table&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;span...

Перебрать все строки регуляркой
Всем привет, не совсем понимаю как это реализовать, в общем, у меня есть textarea, с которого я принимаю текст: $list = $_POST; все...

ValueListEditor - в цикле перебрать все строки
Форумчане!Не могли бы еще помочь с ValueListEditor пожалуйста? Мне необходимо в цикле перебрать все строки ValueListEditor'а. Знаю вопрос...

RecordSource - как перебрать все???
Нужно что бы в таблицу выводилось все содержимое базы - как получать имена RecordSource и перебрать все имеющиеся в подключенной базе? ...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru