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

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

ADO.Recordset [D6, MSSQL]


Nebula ©   (2002-05-20 11:43:00) 

ADODataSet выполняет запрос и после получения ADO.Recordset-а (из свойства ADODataSet.Recordset) он становится однонаправленным (только при запросах с union, having, group by ...).
Как из однонаправленного курсора сделать двунаправленный?


roottim   (2002-05-23 10:30:00) [1]

ADOQuery с этими запросами так же работает?


Nebula   (2002-05-23 10:06:00) [2]

С типими и расположениями курсоров я знаком. Recordset возвращает однонаправленный курсор в случае сложных наборов, когда нет соответствия какой либо таблице. Иименно такие наборы и получаются при использовании union, group by, там одна строка может собираться из нескольких физических строк и таблиц. Проблемма при работе именно с такими запросами.


AlexMey   (2002-05-20 13:25:00) [3]

У объекта ADO.recordSet есть свойство - CursorType. По умолчанию, по-моему, оно устанавливается adOpenForwardOnly(движение только вниз). Если Вам необходимо ещё и вверх, то перед использованием recordSet переопределите его, к примеру, в adOpenStatic - но, правда, это потредует чуть больше ресурсов.

var rs : _Recordset;

rs.CursorType := adOpenStatic;

rs := ADOConn.Execute(...);


Наверх

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