Функция 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 |