2009-05-15 6 views
0

에 저장 프로 시저에서 반환 값을 얻기 내가 PostgreSQL을에 저장 프로 시저가 있습니다 ado.net에서PostgreSQL을

CREATE OR REPLACE FUNCTION dosmth() 
RETURNS boolean AS 
$BODY$ 
BEGIN 

RETURN FALSE; 

END; 
$BODY$ 
LANGUAGE 'plpgsql' VOLATILE 

내가 반환 값을 검색 할 필요가있다. 나는 다음을 수행하려고 :

DbCommand cmd = DBTemplate.CreateStoredProcedureCommand(dbConnection, "dosmth"); 

    cmd.Parameters.Add(DBTemplate.CreateParameter(System.Data.DbType.Boolean, 
       "@RETURN_VALUE", System.Data.ParameterDirection.ReturnValue)); 

    DBTemplate.ExecuteNonQuery(cmd); 
    Boolean bl = Convert.ToBoolean(cmd.Parameters["@RETURN_VALUE"].Value); 

불행하게도이 유형 DBNullBoolean로 변환 할 수없는 것을 말해 작동하지 않습니다.
아이디어가 있으십니까?

답변

0

ExecuteNonQuery 대신 ExecuteScalar를 사용해보십시오. ExecuteNonQuery가 결과를 리턴하지 않는다는 것을 상기하는 것 같습니다.

관련 문제