Вопрос № 72831: Добрый день, товарищи эксперты
Вопрос таков: как из ADOQuery данные определенного поля результата запроса занести в динамический массив, без использования цикла? Я немного копался, есть свойство FieldValues которое возвращает Variant а вот ч...
Вопрос № 72.831
Добрый день, товарищи эксперты
Вопрос таков: как из ADOQuery данные определенного поля результата запроса занести в динамический массив, без использования цикла? Я немного копался, есть свойство FieldValues которое возвращает Variant а вот что дальше с ним делать, как последовательно получить оттуда данные?
Отправлен: 27.01.2007, 11:24
Вопрос задал: Leshka (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Argyn.Durmagambetov
Здравствуйте, Leshka!
читаем HELP
FieldValues (public) Provides access to the values for all fields in the active record for the dataset
Предоставляет доступ к значениям ВСЕХ полей в активной записи набора данных
а вам если я правильно понял нужен список всех значений ОДНОГО поля во всех записях набора данных
--------- Не говори мне СДЕЛАЙ и я не скажу куда тебе идти...спроси "Как сделать" и получишь ответ
Ответ отправил: Argyn.Durmagambetov (статус: 2-ой класс)
Ответ отправлен: 27.01.2007, 11:56 Оценка за ответ: 2 Комментарий оценки: читаем хелп Delphi syntax:
так зачем же там это [const FieldName: string]? или вы дальше первой строки не дочитали?
Отвечает: Синельников Сергей
Здравствуйте, Leshka!
Задумал как-то я подобное, да отказался немного поразмыслив за ненадобностью оного. Есть ли смысл в этом ? Тем не менее ответ такой:
var A : Variant; далее
A:=ADODataSet1.RecordSet.GetRows(10,1,VarArrayOf(['FIeldName1','FieldName2','FieldName3']));
где первый параметр 10 - это 10 записей, второй параметр - номер записи с какой начать 1, третий параметр список имен полей, значения каких необходимы.
дальше можно работать с вариантным массивом
Label1.Caption:=A[0,0]; - значение первого поля первой записи ,
Label2.Caption:=A[1,0]; - значение второго поля первой записи ,
Label3.Caption:=A[2,0]; - значение третьего поля первой записи .
Надо быть осторожным, используя такой подход, память-то не резиновая и может не поместиться весь массив.
Ответ отправил: Синельников Сергей (статус: 2-ой класс)
Ответ отправлен: 29.01.2007, 00:41 Оценка за ответ: 5 Комментарий оценки: Очень Вам большое спасибо за ответ А по поводу памяти наверное мне нечего бояться, поскольку подразумевается что строк будет не очень много( максимум 10) - ограничено спецификой задачи Ответ - то что надо