2012-01-11 55 views
2

我想第一次WebMatrix和基於各種論壇,我放在一起的代碼來執行存儲過程(在SQL Server 2008中),但我需要檢索輸出值從該存儲過程返回到OUTPUT參數中。Webmatrix /剃刀和存儲過程與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 2012-01-11 17:10:12

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){ 

}