2012-01-11 2 views
2

처음으로 WebMatrix를 시도하고 다양한 포럼을 기반으로 SQL (2008)에서 저장 프로 시저를 실행하는 코드를 작성했지만 출력 값을 검색해야합니다. 저장된 프로 시저를 다시 OUTPUT 매개 변수에 저장하십시오.OUT 매개 변수가있는 Webmatrix/Razor 및 저장 프로 시저

나는 다음과 같은 코드를 사용

@(
    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); 

쿼리가 전체 행 반환하는 경우 :

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

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

는 쿼리가 여러 행을 반환하는 경우

관련 문제