2011-05-26 61 views
0

我想在vb6中打開一個存儲過程,我可以在asp中成功打開一個存儲過程,但vb6存在打開存儲過程的問題。下面是我想要的代碼:在VB6中使用連接對象OpenRecordset如何打開sproc?

 qryStr = "DECLARE @return_value int EXEC @return_value = [dbo].[spSproc]" 

它沒有返回參數...只是SELECT * FROM在存儲過程的命令和它運行在SQL罰款。

Dim rs as ADODB.Recordset 
Set rs = new ADODB.Recordset 
rs = co.OpenRecordset(qryStr, dbOptimistic) 

我沒有打開查詢的問題,但打開sprocs似乎是問題。這應該是隻讀的,我沒有傳遞任何參數。 THX

+2

什麼類型的對象是'co'? 'OpenRecordset'和'dbOptimistic'是DAO常量,但'rs'被聲明爲ADO記錄集。 – 2011-05-26 05:59:43

+0

使用ADO Command對象:設置其CommandText屬性等於proc名稱,添加到它的Parameters集合,並調用它的Execute方法,該方法將返回一個Recordset對象。 – onedaywhen 2011-05-26 13:56:17

+0

它是一個連接對象。 – 2011-05-30 05:22:54

回答

1

我想通了,在VB6中有兩個記錄集對象。一個是

Dim rs as ADODB.Recordset

,另一個是

Dim rs as Recordset

第二個其中不包括ADODB行爲類似於記錄在ASP。這樣我可以使用我的rs.open qryStr,connectionObject

0

我怕我沒有訪問VB6正確檢查這一點,但我想你只需要去掉「聲明@return_value」從SQL字符串,所以它讀取:

qryStr = "EXEC spSproc" 

希望這不會把戲給你。