제가 ADOStoredProc 를 사용해서 데이터를 처리 할려고합니다.
그런데 ADOStoredProc1:CommandText does not return a result set 이런에러메시지가... ㅠ.ㅠ
값을 돌려줄수 없다라는 메시지 같은데.... 어디가 잘못 되었는지 모르겠습니다.
고수님들 조언 부탁드립니다.
-------------sp를 생성 하여 처리하는부분-------------------
create proc salesReport
@previousMonthStart datetime,
@previousMonthEnd datetime,
@thisMonthStart datetime,
@thisMonthEnd datetime
as
set dateformat ymd
declare @pSales table(SA_VECODE float,SA_SNO float,pSum float)
declare @nSales table(SA_VECODE float,SA_SNO float,pSum float)
insert into @pSales select * from dbo.fnReport(@previousMonthStart ,@previousMonthEnd)
insert into @nSales select * from dbo.fnReport(@thisMonthStart ,@thisMonthEnd)
SELECT
p.SA_VECODE ,
p.SA_SNO,
p.pSum,
n.pSum
FROM @pSales p inner join @nSales n
on p.SA_VECODE=n.SA_VECODE and p.SA_SNO=n.SA_SNO
go
---------------------------------------------------------------------------------------------------------------------------
-------------------------사용자 정의 함수부분----------------------------------------------------------------------
create function fnReport
(@startMonth datetime,
@endMonth datetime)
returns @pSales table
(
SA_VECODE float,
SA_SNO float,
pSum float
)
as
begin
insert into @pSales
select
SA_VECODE,
SA_SNO,
SUM(SA_AMT) as pSum
FROM SALE_MAIN
WHERE SA_DATE between @startMonth and @endMonth
GROUP BY SA_VECODE,SA_SNO
return
end
go
--------------------------------------------------------------------------------------------------------------
위와 같이 서버에 함수와 sp를 생성을 하고나서
----------------------------------------------------------------------------------------------------------------
procedure TSale_data.BitBtn1Click(Sender: TObject);
begin
ADOStoredProc1.Parameters.ParamByName('@previousMonthStart').value := strTodate('2002-02-01');
ADOStoredProc1.Parameters.ParamByName('@previousMonthEnd').value := strTodate('2002-02-28');
ADOStoredProc1.Parameters.ParamByName('@thisMonthStart').value := strTodate('2002-03-01');
ADOStoredProc1.Parameters.ParamByName('@thisMonthEnd').value := strTodate('2002-03-31');
ADOStoredProc1.Open;
end;
------------------------------------------------------------------------------------------------------------------
위와 같이 했습니다.
물론 데이터소스와 연결은 시켜주었구요....
qa창에서 exec salesReport '2002-02-01','2002-02-28','2002-03-01','2002-03-31' 하면 데이터가 나오는데...
제가 ADOStoredProc를 첨 사용하는거라 잘모릅니다.
어느부분이 잘못 되었는지 고수님들의 조언 부탁드립니다.
오늘 하루도 즐거운 하루 되세요...