Я создал хранимую процедуру, и я вызываю ее из Visual Studio, но когда я вызываю хранимую процедуру, программа имеет ошибку компилятора. Хранимая процедура существует в SQL Server.Проблема вызова хранимой процедуры SQL Server
Это ошибка:
no overload "sumtotal" for method takes 0 argument
хранимой процедуры в 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 @[email protected]
return @totaling
END
GO
в VS:
AccountDBClassDataContext context = new AccountDBClassDataContext();
int total;
private void button3_Click(object sender, EventArgs e)
{
dataIncome = context.sumtotal();
}
Я знаю, может быть, мой вопрос был глупый вопрос, но это вопрос.
Пожалуйста, помогите мне.
Cheers.
Спасибо за быстрый ответ. Я пишу «context.sumtotal (out dataIncome)»; но когда я запускаю, программа имеет ошибку. Наилучшее перегруженное соответствие метода для 'Accountant_App.AccountDBClassDataContext.sumtotal (ref int?)' Имеет некоторые недопустимые аргументы и аргумент 1: невозможно преобразовать из 'out int' в 'ref int?' , Зачем? что мне делать? –
Спасибо. но почему я должен использовать int? ? и какая разница между int? и int? Когда я создаю str prc и когда я это называю, должен ли я использовать переменную 'ref' с 'int?' тип? Я пишу это, но программа имеет ошибку: использование неназначенной локальной переменной 'dataa' –
'int?' Действительно преобразуется в 'Nullable', и вы должны использовать это, потому что ваш SP не может вернуть какое-либо значение. Разница в том, что 'int?' Может быть установлен в 'null', тогда как стандартный' int' не может. –
MarcinJuraszek