Создает некоторый результирующий Курсор для текущей Сессии Данных.

NoteПримечание

Только один Курсор может быть выделен для текущей Сессии Данных. Когда выделяется следующий новый курсор, функция SETRESULTSET( ) очищает предыдущий выделенный курсор.

SETRESULTSET( nWorkArea | cTableAlias )

Параметры

nWorkArea

Определяет номер Рабочей Области, для которой выделяется Курсор.

cTableAlias

Определяет Алиас, который будет выделен для текущей Сессии Данных.

Expand imageВозвращаемое значение

Числового типа. Функция SETRESULTSET( ) возвращает номер рабочей области, для которой выделен Курсор для текущей Сессии Данных, или значение = (0), если до настоящего момента Курсор не выделялся.

Expand imageКомментарии

SETRESULTSET( ) поддерживается для стандартной системы Visual FoxPro и соответственно для Visual FoxPro OLE DB Provider. Вы можете использовать рассматриваемую функцию SETRESULTSET( ) в некотором контейнере базы данных (DBC), для Хранимых процедур или для передачи данных соответствующему Visual FoxPro OLE DB Provider, предполагая что рассматриваемый курсор предварительно открыт в текущей сессии провайдера OLE DB. Например, предположим, что уже открыт некоторый курсор с именем MyCursor, в текущей сессии OLE DB Provider. Следующий оператор загружает данными объект ADO RecordSet, для рассматриваемого курсора, MyCursor:

  CopyCode imageКопировать Код
oRecordSet = oConn.Execute("SETRESULTSET('MyCursor')")

При помощи функции SETRESULTSET( ) вы выделяете некоторый Курсор или Таблицу, которые заблаговременно открыты в соответствующем Visual FoxPro OLE DB Provider, вы можете загрузить конкретные данные в виде объектов RowSet, которые создаются из указанных курсоров или таблиц при выполнении соответствующих Хранимых процедур, размещенных в контейнере базы данных (DBC). Когда рассматриваемый провайдер OLE DB выполняет некоторую команду, создается указанный объект RowSet из соответствующего Выделенного Курсора, если последний существует, и очищает маркер выделения данного курсора.

NoteПримечание

При использовании указанного Сценария провайдер OLE DB игнорирует все другие возвращаемые величины. Например, если хранимая процедура содержит оператор следующего типа: RETURN Value и существует выделенный Курсор, Провайдер не возвращает никакого значения. Вместо этого, возвращается выделенный курсор с соответствующими наборами данных в вызывающее Приложение. Когда указанный объект RowSet закрывается, то закрывается соответствующий выделенный Курсор.

Тем не менее, даже если провайдер OLE DB игнорирует любые возвращаемые величины при существующем выделенном курсоре, вы можете использовать функцию SETRESULTSET( ) с соответствующей командой RETURN. Смотрите следующий Пример:

  CopyCode imageКопировать Код
RETURN SETRESULTSET("MyCursor")

Данный оператор создает и возвращает записи из указанного Курсора, которые не возвращаются самой функцией SETRESULTSET( ).

Expand imageСм. также