Collaboration of Postgres for Windowns and NET
Posted: Thu 24 Nov 2005 14:41
Tenga you a coordial greeting of my part. The following mail with the purpose of asking for an aid to them, I need to know since I can make to execute functions from NET.Le agradeceria its collaboration. I have the following metodos in the class Thanks.as it is the route of the examples of functions of poststoneware but in windowns
CREATE OR REPLACE FUNCTION get_codigo_entidad("varchar")
RETURNS "numeric" AS
$BODY$
declare
sql_statement Varchar(200);
pg_codigo Numeric;
in_nombre alias for $1;
begin
select ent_codigo into pg_codigo from entidad where lower(ent_nombre) like lower(in_nombre);
return pg_codigo;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
public int getRegistroDecimal(string procedimiento, ref decimal salida, params Parametro[] parametros)
{
//PgSqlParameter pg_codigo;
pgcoman.CommandText = procedimiento;
pgcoman.CommandType = CommandType.StoredProcedure;
foreach (Parametro param in parametros)
pgcoman.Parameters.Add(param.Nombre, param.Valor);
PgSqlParameter pgp = new PgSqlParameter("pg_codigo", PgSqlType.Numeric);
//pg_codigo=pgcoman.Parameters.Add("pg_salida",PgSqlType.Numeric);
//pg_codigo.Direction=ParameterDirection.ReturnValue;
pgcoman.Parameters.Add(pgp).Direction = ParameterDirection.ReturnValue;
objeto = salida;
res = this.ejecutarScalar(ref objeto);
salida = (decimal) pgp.Value;
return res;
}
private int ejecutarScalar(ref object obj)
{
try
{
this.pgconec.Open();
obj = pgcoman.ExecuteScalar();
this.pgconec.Close();
return 0; //no hubo error
}
catch (SqlException serr)
{
this.pgconec.Close();
this.error = serr.Message.ToString();
return serr.Number; //retorna el número de error oracle sql
}
catch (Exception ex)
{
this.pgconec.Close();
this.error = ex.Message.ToString();
return -1; //retorna el número de error del sistema
}
}
decimal codigoEnt = 0;
conx.getRegistroDecimal("get_codigo_entidad", ref codigoEnt,new Parametro("valor_nombre", "Mantenimiento"));
msgMensaje.ShowMessage(codigoEnt.ToString());
error
ex {"Parameter name is missing.\r\nParameter name: pg_codigo" } System.Exception
CREATE OR REPLACE FUNCTION get_codigo_entidad("varchar")
RETURNS "numeric" AS
$BODY$
declare
sql_statement Varchar(200);
pg_codigo Numeric;
in_nombre alias for $1;
begin
select ent_codigo into pg_codigo from entidad where lower(ent_nombre) like lower(in_nombre);
return pg_codigo;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
public int getRegistroDecimal(string procedimiento, ref decimal salida, params Parametro[] parametros)
{
//PgSqlParameter pg_codigo;
pgcoman.CommandText = procedimiento;
pgcoman.CommandType = CommandType.StoredProcedure;
foreach (Parametro param in parametros)
pgcoman.Parameters.Add(param.Nombre, param.Valor);
PgSqlParameter pgp = new PgSqlParameter("pg_codigo", PgSqlType.Numeric);
//pg_codigo=pgcoman.Parameters.Add("pg_salida",PgSqlType.Numeric);
//pg_codigo.Direction=ParameterDirection.ReturnValue;
pgcoman.Parameters.Add(pgp).Direction = ParameterDirection.ReturnValue;
objeto = salida;
res = this.ejecutarScalar(ref objeto);
salida = (decimal) pgp.Value;
return res;
}
private int ejecutarScalar(ref object obj)
{
try
{
this.pgconec.Open();
obj = pgcoman.ExecuteScalar();
this.pgconec.Close();
return 0; //no hubo error
}
catch (SqlException serr)
{
this.pgconec.Close();
this.error = serr.Message.ToString();
return serr.Number; //retorna el número de error oracle sql
}
catch (Exception ex)
{
this.pgconec.Close();
this.error = ex.Message.ToString();
return -1; //retorna el número de error del sistema
}
}
decimal codigoEnt = 0;
conx.getRegistroDecimal("get_codigo_entidad", ref codigoEnt,new Parametro("valor_nombre", "Mantenimiento"));
msgMensaje.ShowMessage(codigoEnt.ToString());
error
ex {"Parameter name is missing.\r\nParameter name: pg_codigo" } System.Exception