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;
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END