Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 276
от 02.02.2007, 10:05

Администратор:Gh0stik
В рассылке:Подписчиков: 285, Экспертов: 44
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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:

property FieldValues[const FieldName: string]: Variant; default;

так зачем же там это [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) - ограничено спецификой задачи
Ответ - то что надо


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.43 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное