Code: Select all
CREATE OR REPLACE FUNCTION get_count(p_app_name character varying, p_server_host character varying)
RETURNS integer AS
$BODY$declare
v_counter integer;
begin
select count(*) into v_counter from sessions_info;
return v_counter;
end;$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION get_count(character varying, character varying)
OWNER TO session_store;
Code: Select all
PgSqlConnection conn = null;
try
{
conn = _OpenDbConn();
PgSqlCommand cmd = new PgSqlCommand("get_count", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("p_app_name", _appName);
cmd.Parameters.Add("p_server_host", p_server_host);
PgSqlParameter pCount = cmd.Parameters.Add("po_count", PgSqlType.Int);
pCount.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
return int.Parse(pCount.Value.ToString());
}
finally
{
if (conn != null && conn.State == ConnectionState.Open)
conn.Close();
}
Code: Select all
Parameter name is missing.
Parameter name: po_count at Devart.Data.PostgreSql.PgSqlCommand.a(PgSqlDataReader A_0, PgSqlParameter A_1)
at Devart.Data.PostgreSql.PgSqlCommand.a(PgSqlDataReader A_0)
at Devart.Data.PostgreSql.PgSqlCommand.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords)
at Devart.Common.DbCommandBase.InternalExecute(CommandBehavior behavior, IDisposable stmt, Int32 startRecord, Int32 maxRecords, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior, Boolean nonQuery)
at Devart.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteReader()
at Devart.Common.DbCommandBase.ExecuteNonQuery()
at MyClass.GetCount(String p_server_host)
at OtherClass.GetOnlineCount(Int32 version) in D:\MyDir\DF\Sb.cs:line 826
Please help.