t-sql ado recordset / SQL Server - PullRequest
       33

t-sql ado recordset / SQL Server

0 голосов
/ 02 марта 2011

Я хочу выполнить инструкцию T-SQL с ADO-слоем. SQL-оператор выглядит так:

DECLARE @var TABLE (id int)
INSERT INTO @var SELECT id FROM tblFoo WHERE name='myName' AND idx=2
SELECT * FROM tblFoo WHERE id IN (SELECT * FROM @var)

В консоли управления SQL Server все работает хорошо. Но если я использую это для открытия ADO_Recordset через Open (sql), этот набор записей не будет заполнен / открыт. eof () сказал: набор записей не открыт.

Вопрос заключается в следующем: как использовать инструкции T-SQL, которые приведут к набору записей на уровне ADO?

Ответы [ 2 ]

1 голос
/ 02 марта 2011

В параметре Options метода Open() вам необходимо ввести CommandTypeEnum.adCmdText.

. Для получения дополнительной информации см. Эту ссылку http://msdn.microsoft.com/en-us/library/ms675544(v=vs.85).aspx

Также измените свой запрос наэто:

    SELECT * FROM tblFoo WHERE name='myName' AND idx=2
0 голосов
/ 02 марта 2011

Вы должны рассматривать этот SQL как простой тест что-то вроде:

cmd.CommandType = adCmdText
...