2013-04-13 3 views
-2

Я создал хранимую процедуру, и я вызываю ее из 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.

ответ

3

Существует один output параметр, указанный в хранимой процедуре, так что вы должны передать его, когда вы вызываете его:

private void button3_Click(object sender, EventArgs e) 
{ 
    int? dataIncome = null; 
    context.sumtotal(ref dataIncome); 
} 
+0

Спасибо за быстрый ответ. Я пишу «context.sumtotal (out dataIncome)»; но когда я запускаю, программа имеет ошибку. Наилучшее перегруженное соответствие метода для 'Accountant_App.AccountDBClassDataContext.sumtotal (ref int?)' Имеет некоторые недопустимые аргументы и аргумент 1: невозможно преобразовать из 'out int' в 'ref int?' , Зачем? что мне делать? –

+0

Спасибо. но почему я должен использовать int? ? и какая разница между int? и int? Когда я создаю str prc и когда я это называю, должен ли я использовать переменную 'ref' с 'int?' тип? Я пишу это, но программа имеет ошибку: использование неназначенной локальной переменной 'dataa' –

+0

'int?' Действительно преобразуется в 'Nullable ', и вы должны использовать это, потому что ваш SP не может вернуть какое-либо значение. Разница в том, что 'int?' Может быть установлен в 'null', тогда как стандартный' int' не может. – MarcinJuraszek

Смежные вопросы