存储过程中参数使用@BorrowSum int output
create procedure usp_BorrowSum
@ReadingCard varchar(20),
@BorrowSum int output
as
select @BorrowSum=sum(NonReturnCount) from BorrowDetail
inner join BorrowInfo on BorrowInfo .BorrowId=BorrowDetail.BorrowId
inner join Readers on readers.ReaderId =BorrowInfo .ReaderId
where NonReturnCount >0 and ReadingCard=@ReadingCard
if (@BorrowSum is null)
select @BorrowSum=0
go
SQL调用方法
declare @BorrowSum int
exec usp_BorrowSum '0006417240',@BorrowSum output
select @BorrowSum
C#调用方法
public int GetReaderSum(string readingCard )
{
SqlParameter outBorrowsum = new SqlParameter("@BorrowSum", SqlDbType.Int);
outBorrowsum.Direction = ParameterDirection.Output;
SqlParameter[] param = new SqlParameter[]{
new SqlParameter("@ReadingCard",readingCard ),
outBorrowsum
};
Convert.ToInt32(SQLHelper.GetSingleResultByProcedure("usp_BorrowSum", param));
return Convert.ToInt32(outBorrowsum.Value );
}