yii がストアド プロシージャを呼び出すときのエラーの解決策: まず、「MYPROC」ステートメントが呼び出された後にスローされる例外を確認し、情報プロンプトに従って、ステートメント「SET NOCOUNT ON;」をストアド プロシージャ。
yii はストアド プロシージャの呼び出し時にエラーを報告します:
YII: "クエリのアクティブな結果が表示されますMSSQL2005 ストアド プロシージャを呼び出すときにフィールドが含まれていません。"
推奨事項: "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 中国語 Web サイトの他の関連記事を参照してください。