首頁 >php框架 >YII >yii呼叫儲存程序報錯怎麼辦

yii呼叫儲存程序報錯怎麼辦

藏色散人
藏色散人原創
2020-07-21 10:36:023978瀏覽

yii呼叫儲存程序報錯的解決方法:先查看「MYPROC」語句呼叫後拋出的例外情況;然後根據資訊提示,在預存程序中加入語句為「SET NOCOUNT ON;」即可。

yii呼叫儲存程序報錯怎麼辦

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn