views:

223

answers:

1

Hi. I have a stored procedure in pqsql:

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

RETURN FALSE;

 END;$BODY$
 LANGUAGE 'plpgsql' VOLATILE

From ado.net i need to retrieve the return value. I try to do the following.

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

Unfortunatelly this does not work telling me that the type DBNull cannot be converted to Boolean. Any ideeas?

A: 

Try using ExecuteScalar instead of ExecuteNonQuery. I seem to recall that ExecuteNonQuery doesn't return a result either.

Onots

related questions