Gracias por responder, eso si lo tengo claro lo hago de esta forma
NpgsqlCommand comando = new NpgsqlCommand("prueba", cnpg);
comando.CommandType = CommandType.StoredProcedure;
Pero el problema es que para que funcione desde pgadmin tengo que poner que tipo de datos me retirna la funcion
select * from prueba() as (asiagecod varchar,asifec date,asidoc varchar,asinum varchar,saldo numeric);
Ya que si lo llamo solo como select * from prueba()
me da este error, ERROR: a column definition list is required for functions returning "record"Entonces en pgadmin ya resolvi esto con el as (asiagecod varchar,asifec date,asidoc varchar,asinum varchar,saldo numeric);
Ahora como debo indicar desde punto net algo asi probe y no me funciono
NpgsqlCommand comando = new NpgsqlCommand("prueba as (asiagecod varchar,asifec date,asidoc varchar,asinum varchar,saldo numeric)", cnpg);
espero haberme explicado un poco mas muchas gracias> Date: Tue, 25 Nov 2008 16:28:36 +0000> From: jchavezb(at)gmail(dot)com> To: fsigu(at)hotmail(dot)com> Subject: Re: [pgsql-es-ayuda] Ayuda con funcion y Punto Net> CC: pgsql-es-ayuda(at)postgresql(dot)org> > 2008/11/25 Fernando Siguenza <fsigu(at)hotmail(dot)com>:> > Amigos tengo un problema para llamar a una funcion desde c#, tengo una> > funcion que reporta un grupo de registros algo asi:> >> > CREATE OR REPLACE FUNCTION prueba() RETURNS SETOF record AS $$> > DECLARE> > cMayor record;> > BEGIN> > for cMayor in select> > asicab.asiagecod,asicab.asifec,asicab.asidoc,asicab.asinum,0.00000 as saldo> > FROM asicab ORDER BY asifec> > LOOP> > RETURN NEXT cMayor;> > END LOOP;> > RETURN;> > END;> > $$> > LANGUAGE 'plpgsql';> >> > desde pgadmin le llamo de esta forma> > select * from prueba() as (asiagecod varchar,asifec date,asidoc> > varchar,asinum varchar,saldo numeric);> >> > Y en donde defino que columnas son las que retorna dicha funcion y funciona> > todo muy bien,> > ahora mi dilema es como hago para llamar a esta funcion desde punto net???> >> > Espero me puedan ayudar> >> > ________________________________> > Windows Live Hotmail now works up to 70% faster. Sign up today.> > > Depende del objeto con que te estes conectando con .Net,> lamentablemente ahora no estoy con G y C# sino te lo hubiese enviado,> pero la logica es siempre la misma tienen un Command o algo asi que> tiene la propiedad de ejecutar sql ya sea una funcion o una consulta> generalmente permiten agregar parametros para hacer esto dinamico...> despues cuando recuperas se hace en un DataTable o un DataSet... con> los nombres de los campos que estas consultando ....> > Investiga del objeto coneccion que estas usando de seguro el te> resolvera tus dudas.> > Slds.> J.> > > -- > Cumprimentos> jchavez> linux User #397972 on http://counter.li.org/
_________________________________________________________________
Color coding for safety: Windows Live Hotmail alerts you to suspicious email.
http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_safety_112008