Reputation: 3627
I have a stored procedure in PostgreSQL:
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);
Unfortunately this does not work telling me that the type DBNull
cannot be converted to Boolean
.
Any ideas?
Upvotes: 0
Views: 2320
Reputation: 2118
Try using ExecuteScalar
instead of ExecuteNonQuery
. I seem to recall that ExecuteNonQuery
doesn't return
a result either.
Upvotes: 1