Набор данных, возвращаемый SQL-запросом

reZFedor
Дата: 21.11.2007 13:45:07
Всем привет. Такой вопрос:
в каком свойстве компонента TADODataSet (или другом) хранится полный набор данных (массив) возвращаемый запросом?
RENaissance
Дата: 21.11.2007 13:54:42
reZFedor

хранится полный набор данных

Что это такое?

З.Ы С DataSet'ами вообще работали?

Posted via ActualForum NNTP Server 1.4

reZFedor
Дата: 21.11.2007 14:08:02
работал. TADODataSet + TDataSource + TDBGrid.
после выполнения запроса и заполнения таблицы я слог считать значения полей только первой записи. До второй добрался только переместив курсор (Next). Можно ли сразу считать значения полей второй записи типа переменная := Запись[1].Поле[0]?
Johnmen
Дата: 21.11.2007 14:11:24
Нет. Ибо свойство набора данных - последовательный доступ к данным.
reZFedor
Дата: 21.11.2007 14:13:38
Тоесть при заполнении DBGrid'а происходит последовательное прохождение/заполнение всех полей?
miksoft
Дата: 21.11.2007 14:15:47
Имхо, официально - нельзя.
Неофициально, после правки исходников датасета и, разумеется, при выборке всех интересующих записей - можно. Грид-то отрисовывает множество записей не пробегая по ним. Возможно, можно и без правки исходников. Есть смысл на эту тему посмотреть исходники какого-нибудь грида.
reZFedor
Дата: 21.11.2007 14:17:10
Тоесть, массива данных как такового не существует?
Johnmen
Дата: 21.11.2007 14:20:26
miksoft
Грид-то отрисовывает множество записей не пробегая по ним.

Пробегая.
Johnmen
Дата: 21.11.2007 14:21:31
reZFedor
Тоесть, массива данных как такового не существует?

Не существует. Если ты вкладываешь в его понятие то, что я думаю.
А зачем тебе это вообще?
miksoft
Дата: 21.11.2007 14:26:04
Johnmen
miksoft
Грид-то отрисовывает множество записей не пробегая по ним.
Пробегая.
Насколько я в курсе для комбинации DOA+TDBGridEh - нет. Мой коллега по работе когда-то исследовал это дело. С его слов - в датасете есть указатель на внутренний буфер (т.е. массив) которым и пользуется грид. Как именно грид до него добирается - не знаю. А правка исходников и заключалась в том, чтобы этот указатель перенести из private в public.

Кстати, если вы говорите "пробегая", то почему не срабатывают OnScroll ?