我想用ADO層執行T-SQL語句。 sql語句如下:t-sql ado記錄集/ SQL Server
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管理控制檯中一切正常。但是,如果我使用它通過Open(sql)打開ADO_Recordset,那麼記錄集將不會被填充/打開。 eof()表示:記錄集未打開。
問題是:如何執行將導致ADO層上的記錄集的T-SQL狀態?
將CommandType已經在爲adCmdText。 (我正在使用一個非常舊的ADO接口:ADO 2.7上的C++)是的你是對的。該查詢可以寫得更簡單。但實際上該語句可能如下所示:SELECT * FROM tblFoo WHERE pos = 4 AND ID IN(SELECET ID FROM tblFoo WHERE pos = 3 AND name ='nameForThirdPos')AND ID IN(SELECET ID FROM tblFoo WHERE pos = 2 AND name ='nameForSecondPos') 該表包含指定位置上每個名稱的分隔記錄。 – Reinhard 2011-03-03 06:27:52