1

MSAccess ベースのアプリケーション (+VB コード) を Web アプリケーションに変換しています。データベースはプロセス内で同じままで、このアクセス アプリは少数のストアド プロシージャを使用しました。

以下のコードは、ストアド プロシージャを実行します。

Dim prmJ_YearSeq_pk As ADODB.Parameter
Set cmd1 = New ADODB.Command
cmd1.ActiveConnection = CurrentProject.Connection
cmd1.CommandType = adCmdStoredProc
cmd1.CommandText = "sp_delete_from_t_Job_and_t_Report"
Set prmJ_YearSeq_pk = 
    cmd1.CreateParameter("@J_YearSeq_pk", adInteger, adParamInput)
cmd1.Parameters.Append prmJ_YearSeq_pk
prmJ_YearSeq_pk.Value = Me.J_YearSeq_pk
cmd1.Execute

SQL Management Studio から同じストアド プロシージャを実行すると、

DECLARE @return_value int
EXEC    @return_value = [dbo].[sp_delete_from_t_Job_and_t_Report]
        @J_YearSeq_pk = 20110001
SELECT  'Return Value' = @return_value

エラーがスローされます

サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。ステートメントは終了されました。

私が理解できないのは、Access アプリでは正常に機能するのに、Management Studio または Web アプリ (PHP PDO) では機能しないのはなぜですか?

4

0 に答える 0