获取返回的值从PostgreSQL中存储过程
-
22-08-2019 - |
题
我有PostgreSQL中存储过程:
CREATE OR REPLACE FUNCTION dosmth()
RETURNS boolean AS
$BODY$
BEGIN
RETURN FALSE;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
从ado.net我需要检索的返回值。我尽量做到以下几点:
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);
不幸的是,这并不工作告诉我,类型DBNull
不能转换到Boolean
。结果
任何想法?
解决方案
尝试使用代替的ExecuteNonQuery的ExecuteScalar。我似乎记得,ExecuteNonQuery不要么返回的结果。
不隶属于 StackOverflow