2012-01-11 2 views
2

Я впервые пытаюсь использовать WebMatrix и на основе различных форумов собираю код для выполнения хранимой процедуры (в SQL Server 2008), но мне нужно получить выходное значение из сохраненную процедуру обратно в параметр OUTPUT.Webmatrix/Razor и хранимая процедура с параметром OUT

Я использую следующий код:

@(
    var strInputParam = "Test"; 
    var strOutputParam = ""; 
    var db = Database.Open("mydatabase"); 
    var selectQueryString = "EXECUTE dbo.SP_Test @0, @1"; 
    //var selectQueryString = "EXECUTE dbo.SP_Test @0, @1 OUTPUT"; 
    db.Execute(selectQueryString, strInputParam, strOutputParam); 
} 

Когда я запускаю это, процедура работает, но «strOutputParam» по-прежнему пуст после выполнения. Я также попробовал версию в прокомментированном коде как альтернативу, но это также возвращает пустую ценность.

Есть ли что-то конкретное, что мне нужно сделать, чтобы получить значение параметра OUTPUT?

Благодарим за помощь!

ответ

0

Справочник по базе данных не поддерживает выходные параметры. Он никогда не был предназначен для работы с хранимыми процедурами. Вместо этого вы можете использовать простой ADO.NET.

+0

Спасибо, Майк. Думаю, мне нужно вернуться к регулярному программированию. На этот раз я думал, что смогу собрать вещи и не буду изобретать велосипед :-( – user1142216

0

Я знаю, что поздно, но только в случае, если кто-то еще хочет ответ,

Если запрос возвращает только одно значение:

var strOutputParam = db.QueryValue(selectQueryString, strInputParam, strOutputParam); 

Если запрос возвращает всю строку:

var strOutputParam = db.QueryValue(selectQueryString, strInputParam, strOutputParam); 
var col1 = strOutputParam.col1; 
var col2 = strOutputParam.col2; 

Если запрос возвращает несколько строк:

foreach (var strOutputParam in db.QueryValue(selectQueryString, strInputParam, strOutputParam){ 

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