我已经创建了一个存储过程,我从Visual Studio中调用它,但是当我调用存储过程时,程序会出现编译错误。存储过程确实存在于SQL Server中。
这是错误:
语法的no overload“sumtotal”采用0参数
SQL Server中的存储过程:
CREATE PROCEDURE sumtotal(@totaling int output)
AS
BEGIN
declare @sum int
set @sum=(select SUM(amount_income) from IncomeTable)
insert into Total_Table(Total_Income)
values(@sum)
set @totaling=@sum
return @totaling
END
GO
VS中的:
AccountDBClassDataContext context = new AccountDBClassDataContext();
int total;
private void button3_Click(object sender, EventArgs e)
{
dataIncome = context.sumtotal();
}
我知道也许我的问题是愚蠢的问题,但这是一个问题。
请帮帮我。
干杯。
答案 0 :(得分:3)
存储过程中指定了一个output
参数,因此您在调用它时必须传递它:
private void button3_Click(object sender, EventArgs e)
{
int? dataIncome = null;
context.sumtotal(ref dataIncome);
}