데이터베이스 컨텍스트 파일이 있고 SQL의 SSMS에서 프로 시저를 만들었습니다.
alter procedure gross_Sal(@empID int,@annual_sal int output)
as
begin
SELECT @annual_sal=SAL*12from EMP WHERE EMPNO=@empID
end
declare @ans int;
exec gross_Sal 1111, @annual_sal=@ans output;
select @ans as 'gross salary';
이것은 SQL에서 잘 작동하지만 C #에서 이것을 호출하는 방법을 모르겠습니다.
코드를 작성했습니다.
private static void paramProc()
{
var ctx = new trainingContext();
var param = new SqlParameter[] {
new SqlParameter()
{
ParameterName="@empno",
SqlDbType=System.Data.SqlDbType.Int,
Size =100,
Direction=System.Data.ParameterDirection.Input,
Value = 1111
},
new SqlParameter()
{
ParameterName="@annual_sal",
SqlDbType=System.Data.SqlDbType.Int,
Size =100,
Direction=System.Data.ParameterDirection.Output,
}
};
var ans = ctx.Emps.FromSqlRaw("@ans int");
var result = ctx.Emps.FromSqlRaw("gross_Sal @empno, @annual_sal = @ans output", param[0],param[1]);
Console.WriteLine("gross sal of the emp "+ans);
}}
내 C # 코드에 큰 실수가있을 수 있지만 이걸 도와주세요.
나는 이것을 출력으로 얻고있다.
gross sal of the emp Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable`1[HW_SQL.Models.Emp]
edit1 :- 나는 이것을 시도했다 :-
var result = ctx.Emps.FromSqlRaw($"EXEC gross_Sal @empID, @annual_sal OUTPUT", param[0], param[1]).AsEnumerable().FirstOrDefault();
Console.WriteLine("gross salary="+param[1].Value);
블록을 잡아서 오류를 표시합니다.
error
- 답변 # 1
관련 자료
- c# - 동일한 열의 다른 열이있는 저장 프로 시저에서 DateDiff 가져 오기
- javascript - 반응 함수 구성 요소의 끝에서 값을 반환 할 것으로 예상되는 linter를 수정하는 방법은 무엇입니까?
- swift - JSON을 사용하여 API에서 값을 반환하려고합니다
- python - sklearn MinMaxScaler ()가 오류 대신 범위를 벗어난 값을 반환하는 이유는 무엇입니까?
- java - toString의 값을 반환
- sql - output이있는 저장 프로 시저 - 스칼라 변수를 선언해야합니다
- c++ - 렌더링 루프 앞에 glUniform1f 호출을 넣으면 균일 한 값이 저장되지 않습니다
- javascript - 약속 값을 반환하는 방법 JS
- java - Android에서 GSON을 통해 중첩 된 JSON 배열에서 값을 얻습니까?
- sql - 저장 프로 시저에서 중첩 된 JSON 생성
- laravel - 함수 내에서 "column" - "value"의 키 쌍 대신 쿼리 값만 반환합니다
- java - 다른 값으로 Enum 값 얻기
- semantics - Ruby setter가 인스턴스 변수의 최종 값이 아닌 전달 된 값을 반환하는 이유는 무엇입니까?
- node.js - mongoose에게 특정 시간이 지나면 저장된 값을 자동으로 늘리도록 지시하는 방법은 무엇입니까?
- PHP에서 Python 프로그램을 실행하고 HTML 내에서 반환 값을 사용하는 방법은 무엇입니까?
- mysql 프로 시저가 null을 반환하는 이유
- list - 왜 pop () 함수가 파이썬의 함수 내부에서 값을 반환하지 않습니까?
- javascript - 배열의 값에서 특정 문자 얻기
- sql server - 새 Join 문을 추가 한 후 MS-SQL 저장 프로 시저에서 오류가 발생합니다 메시지 102, 수준 15, 상태 1, 줄 279 'WHERE'근처의 잘못된 구문
이것은 문제를 해결했습니다.
FromSqlRaw를 사용하고 있었고 EXEC를 사용하여 다음과 같이 작동해야했습니다.
하지만 메시지없이 오류가 발생했습니다. 그러나 사용
직접 실행할 수 있습니다.
같은 문제에 직면 한 사람에게 도움이되기를 바랍니다.