Создает некоторый результирующий Курсор для текущей Сессии Данных.
![]() |
---|
Только один Курсор может быть выделен для текущей Сессии Данных. Когда выделяется следующий новый курсор, функция SETRESULTSET( ) очищает предыдущий выделенный курсор. |
SETRESULTSET( nWorkArea | cTableAlias ) |
Параметры
- nWorkArea
-
Определяет номер Рабочей Области, для которой выделяется Курсор.
- cTableAlias
-
Определяет Алиас, который будет выделен для текущей Сессии Данных.
Возвращаемое значение
Числового типа. Функция SETRESULTSET( ) возвращает номер рабочей области, для которой выделен Курсор для текущей Сессии Данных, или значение = (0), если до настоящего момента Курсор не выделялся.
Комментарии
SETRESULTSET( ) поддерживается для стандартной системы Visual FoxPro и соответственно для Visual FoxPro OLE DB Provider. Вы можете использовать рассматриваемую функцию SETRESULTSET( ) в некотором контейнере базы данных (DBC), для Хранимых процедур или для передачи данных соответствующему Visual FoxPro OLE DB Provider, предполагая что рассматриваемый курсор предварительно открыт в текущей сессии провайдера OLE DB. Например, предположим, что уже открыт некоторый курсор с именем MyCursor, в текущей сессии OLE DB Provider. Следующий оператор загружает данными объект ADO RecordSet, для рассматриваемого курсора, MyCursor:
![]() | |
---|---|
oRecordSet = oConn.Execute("SETRESULTSET('MyCursor')") |
При помощи функции SETRESULTSET( ) вы выделяете некоторый Курсор или Таблицу, которые заблаговременно открыты в соответствующем Visual FoxPro OLE DB Provider, вы можете загрузить конкретные данные в виде объектов RowSet, которые создаются из указанных курсоров или таблиц при выполнении соответствующих Хранимых процедур, размещенных в контейнере базы данных (DBC). Когда рассматриваемый провайдер OLE DB выполняет некоторую команду, создается указанный объект RowSet из соответствующего Выделенного Курсора, если последний существует, и очищает маркер выделения данного курсора.
![]() |
---|
При использовании указанного Сценария провайдер OLE DB игнорирует все другие возвращаемые величины. Например, если хранимая процедура содержит оператор следующего типа: RETURN Value и существует выделенный Курсор, Провайдер не возвращает никакого значения. Вместо этого, возвращается выделенный курсор с соответствующими наборами данных в вызывающее Приложение. Когда указанный объект RowSet закрывается, то закрывается соответствующий выделенный Курсор. |
Тем не менее, даже если провайдер OLE DB игнорирует любые возвращаемые величины при существующем выделенном курсоре, вы можете использовать функцию SETRESULTSET( ) с соответствующей командой RETURN. Смотрите следующий Пример:
![]() | |
---|---|
RETURN SETRESULTSET("MyCursor") |
Данный оператор создает и возвращает записи из указанного Курсора, которые не возвращаются самой функцией SETRESULTSET( ).