yii呼叫儲存程序報錯的解決方法:先查看「MYPROC」語句呼叫後拋出的例外情況;然後根據資訊提示,在預存程序中加入語句為「SET NOCOUNT ON;」即可。
yii呼叫儲存程序報錯:
YII:呼叫MSSQL2005儲存程序出現「The active result for the query contains no fields.」
推薦:《yii教學》
在用YII呼叫MSSQL2005的預存程序時,我需要取得回傳值,利用如下語句調用預存程序「MYPROC」:
DECLARE @return_value int; exec @return_value = MYPROC; select @return_value;
呼叫後拋出以下例外(用var_dump列印出來):
object(CDbException)[50] public 'errorInfo' => array 0 => string 'IMSSP' (length=5) 1 => int -15 2 => string 'The active result for the query contains no fields.' (length=51) protected 'message' => string
'CDbCommand 無法執行SQL 語句:
SQLSTATE[IMSSP]: The active result for the query contains no fields.. The SQL statement executed was: DECLARE @return_value int;exec @return_value = MYPROC @ActivityID = :ActivityID ;select @return_value;' (length=257)
根據下列資訊提示,我在預存程序中加入了這條語句就正常了:
SET NOCOUNT ON;
以上是yii呼叫儲存程序報錯怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!