Поделиться через


Функция MsiViewExecute (msiquery.h)

Функция MsiViewExecute выполняет запрос представления SQL и предоставляет все необходимые параметры. В запросе используется маркер вопросительного знака для представления параметров, как описано в разделе Синтаксис SQL. Значения этих параметров передаются в качестве соответствующих полей записи параметра.

Синтаксис

UINT MsiViewExecute(
  [in] MSIHANDLE hView,
  [in] MSIHANDLE hRecord
);

Параметры

[in] hView

Обработка представления, в котором выполняется запрос.

[in] hRecord

Обработка записи, которая предоставляет параметры. Этот параметр содержит значения для замены маркеров параметров в SQL-запросе. Он необязателен, поэтому hRecord может быть равен нулю. Дополнительные сведения о синтаксисе см. в разделе Синтаксис SQL.

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

Обратите внимание, что при нехватке памяти эта функция может вызвать исключение STATUS_NO_MEMORY.

Комментарии

Перед вызовами MsiViewFetch необходимо вызвать функцию MsiViewExecute.

Если в SQL-запросе указываются значения с маркерами параметров (?), необходимо предоставить запись, содержащую все значения замены в точном порядке и совместимых типов данных. При использовании с запросами INSERT и UPDATE все параметризованные значения должны предшествовать всем непараметризованным значениям.

Например, эти запросы допустимы.

UPDATE {table-list} SET {column}= ? , {column}= {constant}

INSERT INTO {table} ({column-list}) VALUES (?, {constant-list})

Однако эти запросы недопустимы.

UPDATE {table-list} SET {column}= {constant}, {column}=?

INSERT INTO {table} ({column-list}) VALUES ({constant-list}, ? )

В случае сбоя функции можно получить расширенные сведения об ошибке с помощью MsiGetLastErrorRecord.

Требования

Требование Значение
Минимальная версия клиента Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP
Целевая платформа Windows
Header msiquery.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Общие функции доступа к базе данных