成功了!可是又有新问题了:
修改存储过程如下:
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'proc_TotalExport' AND type = 'P')
DROP PROCEDURE proc_TotalExport
GO
Create Proc proc_TotalExport
(
@DepId VARCHAR(32),
@UserId VARCHAR(32)
)
AS
BEGIN
CREATE TABLE #tblTemp
(
YPBH VARCHAR(32) NULL,
BGYPLB VARCHAR(32) NULL,
SL INT NULL,
GG VARCHAR(32) NULL,
YPSX VARCHAR(32) NULL
)
DECLARE @ExportNum INT
DECLARE @InportNum INT
DECLARE @Id VARCHAR(32)
DECLARE @BGYPLB VARCHAR(32)
DECLARE @GG VARCHAR(32)
DECLARE @YPSX VARCHAR(32)
DECLARE Cur_Find CURSOR FOR
SELECT YPBH FROM ZMLS
WHERE CZZBM=@DepId AND CZZ=@UserId
AND CZLX='2007016001' AND SHJG='2007001001'
GROUP BY YPBH
OPEN Cur_Find
FETCH NEXT FROM Cur_Find INTO @Id
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @YPSX=YPSX,@GG=GG,@BGYPLB=BGYPLB FROM KCB
WHERE JLBH=@Id
SELECT @ExportNum=SUM(SL) FROM ZMLS
WHERE CZZBM=@DepId AND CZZ=@UserId
AND CZLX='2007016001' AND SHJG='2007001001'
AND YPBH=@Id
SELECT @InportNum=SUM(SL) FROM ZMLS
WHERE CZZBM=@DepId AND CZZ=@UserId
AND CZLX='2007016002' AND SHJG='2007001001'
AND YPBH=@Id
IF @ExportNum > @InportNum
BEGIN
INSERT INTO #tblTemp(YPBH,BGYPLB,SL,GG,YPSX)
VALUES(@Id,@BGYPLB,@ExportNum-@InportNum,@GG,@YPSX)
END
ELSE IF @InportNum is NULL
BEGIN
INSERT INTO #tblTemp(YPBH,BGYPLB,SL,GG,YPSX)
VALUES(@Id,@BGYPLB,@ExportNum,@GG,@YPSX)
END
FETCH NEXT FROM Cur_Find INTO @Id
END
CLOSE Cur_Find
DEALLOCATE Cur_Find
return SELECT * FROM #tblTemp
END
GO
调用后,出现错误如下:
error occur during invoke getRecords method,The executeQuery method must return a result set. |