我想向C#代碼返回少量列和行(Temp表)。這是我的存儲過程。通過存儲過程將值返回給c#
CREATE PROC [dbo].[GetInvoice]
(
@ClientId as INT ,
@MatterId as INT,
@DateFrom datetime,
@DateTo datetime
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select *,'Expense' as TblName
into #tempExpense
from
(select e.ClientId
, CAST(e.DateAdded AS DATE) as [Date]
, e.MatterId
, e.TotalAmount
, e.UserId
, e.Id As SourceRowID
from Expense e) AS E
select *, 'Times' as TblName
into #tempTimes
from
(select t.clientid
, CAST(t.[Date] AS DATE) AS [Date]
, t.MatterId
, t.TotalAmount
, t.UserId
, t.TimeID as SourceRowID
from Times t) AS T
select A.*
into #tempResult
from
(select * from #tempExpense
UNION ALL
select * from #tempTimes) AS A
SELECT DENSE_Rank() OVER (ORDER BY ClientID, Date, MatterID) As Rank,*
INTO #tempResult_Final
FROM #tempResult
UPDATE Expense
SET Expense_Rank = R.[Rank]
FROM Expense E
INNER JOIN #tempResult_Final R ON E.ID = R.SourceRowID AND TblName = 'Expense'
UPDATE Times
SET Times_Rank = R.[Rank]
FROM Times E
INNER JOIN #tempResult_Final R ON E.TimeID = R.SourceRowID AND TblName = 'Times'
select
tr.ClientId, m.MatterName, c.Name as ClientName,
tr.[Date] as DateInvoice, tr.MatterId, tr.UserId,
u.FirstName + ' ' + u.LastName as UserFullName,
Sum(tr.TotalAmount) as Total,
MAX(tr.Rank) AS Rank
from
#tempResult_Final tr
inner join
Matters m ON m.MatterID = tr.MatterId
inner join
Client c ON c.ClientId = tr.ClientId
inner join
[User] u ON u.UserId = tr.UserId
where
tr.ClientId = (Case when @ClientId = 0 then tr.ClientId else @ClientId end)
and tr.MatterId = (Case when @MatterId = 0 then tr.MatterId else @MatterId end)
and tr.[Date] between isnull(@DateFrom,cast('1900/01/01' as date))
and isnull(@Dateto,cast('2999/01/01' as date))
group by
tr.clientid, m.MatterName, c.Name, tr.[Date], tr.MatterId,
tr.UserId , u.FirstName, u.LastName
order by
[Date]
END
GO
請幫忙。
第二次打擊的谷歌搜索「通過存儲過程返回值到C#」的:http://stackoverflow.com/questions/6210027/c-sharp-calling-sql-server-stored-procedure-with-返回值 –