2010-03-04 4 views
2

코드로 작업하고 있습니다. .NET에서 작동하는 Pgsql로 변환 중입니다. 나는 여러 매개 변수가있는 저장 함수를 호출 싶지만과 같이 이름으로 매개 변수를 결합하고 싶습니다 : 지금까지 매개 변수 유형이에 일치하는 함수를 찾아이 작업을 수행하는Npgsql은 저장된 함수에 이름으로 매개 변수를 전달합니다.

NpgsqlCommand command = new NpgsqlCommand("\"StoredFunction\"", _Connection) 
command.CommandType = CommandType.StoredProcedure; 
command.Parameters.Add("param2", value2); 
command.PArameters.Add("param1", value1); 

시도를 이름이 아닌 컬렉션에 매개 변수를 추가 한 순서.

Npgsql이 저장된 함수에 매개 변수를 이름으로 바인딩 할 수 있습니까?

답변

3

현재 Npgsql은 이름으로 전달 매개 변수를 지원하지 않습니다. 그것은 매개 변수 값을 이름으로 수신하는 것을 지원하지만.

버그 보고서를 작성 하시겠습니까? 그래서 우리는 그것을 추적하고 구현할 수 있습니다.

+0

신고하는 데 문제가 있습니다. 사이트에 등록했지만 버그보고가 작동하지 않습니다. – Jeff

+0

버그 보고서를 다시 작성 하시겠습니까? 미리 감사드립니다. –

3

불행하게도 그것은 저장 프로 시저 (CommandType.StoredProcedure) 작동하지 않습니다.

SQL-text 명령 (CommandType.Text)을 사용합니다. 다음과 같이 사용할 수 있습니다 : paramname, plus 나는 최신 버전에서 parameters.addwithvalue (": paramname", param)를 사용할 수 있다고 생각합니다.

당신은 또한 (MS SQL Server와 같은) 최신 버전 @paramname 사용할 수 있습니다.

읽기 원래의 질문에 대한 답변 this manual의 "쿼리에서 매개 변수 사용"단원 -하지만 여러분의 인생을 더 쉽게하기 위해 위의 말을 기억한다.

+1

Npgsql의 버전을 2013 년 1 월에 테스트 한 결과 클라이언트 측 명령이 CommandType.StoredProcedure 모드에있을 때 공급자가 서버의 기능으로 전달하는 위치 모드 매개 변수 만 지원하는 것으로 나타났습니다. 매개 변수가 명령 매개 변수 컬렉션에 추가되는 순서는 매개 변수가 제공된 순서입니다. – Tim

+0

StoredProcedure로 테스트하지 않았지만 Text와 함께 작동합니다. –