Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL & Delphi возможно ли прямое обращение к данным выборки? [D5, MSSQL]


xmrz ©   (2003-03-09 16:54:00) 

Кто нибудь встречался со способом прямого чтения из памяти результатов запроса после выполнения SQL запроса стандартными средствами Delphi (TQuery, TStoredProc)?


Fbist   (2003-03-11 14:58:00) [1]

Смотри метод
array:= recordset.GetRows(Rows,Start,fields);

Возвращает вариант в виде двумерного массива.


BlackTiger   (2003-03-11 14:47:00) [2]

Скорость это не повысит никак абсолютно, может быть даже замедлит.
Зато проблем получишь море.

Данные и так все (сколько влезло в кеш) находятся в памяти (часть в оперативке, часть в виртуальной) после выборки. За всем этим следит уже сам виндовс, его ты не обгонишь.

Одно дело как-то их получить, а совсем другое - работать с ними. Максимум, чего ты получишь, если доберешься, огромный блок несистематизированной информации, короче - гору мусора (в прямом и программистском понимании).

А после долгих мучений ты просто получишь свой собственный БДЕ или АДО, который если и будет чуть быстрее, то только за счет выкидывания части функционала.

Успехов!


Serginio   (2003-03-11 12:21:00) [3]

Могу быть не правым,но обычно Query результаты запроса держит в темповой локальной таблице (для Dbase точно). В принципе можно загрузить все данные в память с поиощью ReadBlock. Смотри BDE32.hlp, в частности DbiQExecDirect,DbiQAlloc.


xmrz   (2003-03-09 19:28:00) [4]

К примеру: имеется заранее определённая структура данных, которую можно организовать в классе или record, она соответствует структуре данных выборки Query, известно (спорный момент...) куда BDE кладёт данные посли выборки из Query, а потом "накладывая" свою структуру на область памяти последовательно считывать строки таблицы. Вопрос в принципе в чём: повысит ли это скорость загрузки данных и если повысит, то как это сделать (т.е. где та самая область памяти куда Query складывает данные)


JibSkeart   (2003-03-09 16:56:00) [5]

Всмысле а поточнее ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо