2015-10-21 54 views
-1

如果您有一個執行多個查詢的存儲過程,不返回值並且沒有錯誤處理,那麼如何確定存儲過程是否在調用時成功結束從VB代碼?如何檢查存儲過程是否成功執行

例如,如果存儲過程是這樣的:

create stored procedure some_procedure 
    Insert into ... 
    delete ... 
    update ... 
end 

...和VB代碼是這樣的:

Cmd.ActiveConnection = cn 
Cmd.CommandText = "some_procedure" 
Cmd.CommandType = adCmdStoredProc 
Set rs = Cmd.Execute 
Debug.Print rs(0) 

...那我怎麼才能獲得回報值爲0成功或1失敗?

+1

的可能的複製[如何從存儲過程中的值(http://stackoverflow.com/questions/ 14596662 /如何到獲得-A-值從存儲過程) –

回答

0

我相信通過Execute語句傳遞可選的RecordsAffected參數將爲您工作。由於您對細節的知識非常少,所以您不得不嘗試一下,但這對SQL和FoxPro OLEDB提供程序都有幫助。另外,爲什麼沒有錯誤處理?恕我直言,沒有錯誤處理程序在代碼中有很可能產生錯誤是要求麻煩。

... 
Dim lngRecsAffctd As Long 

Cmd.ActiveConnection = cn 
Cmd.CommandText = "some_procedure" 
Cmd.CommandType = adCmdStoredProc 
Cmd.Execute lngRecsAffctd, ,adCmdStoredProc 'why set to a recordset when the sproc doesn't return anything? 
Debug.Print lngRecsAffctd 
... 

執行命令和RecordsAffected參數的完整細節可以在msdn.microsoft.com/en-us/library/ms681559%28v=vs.85%29.aspx找到

相關問題