si lo probe y justo es eso que no me funciona que no se como llamar a esa funcion o que podria hacer para que funciones....
Gracias > Date: Tue, 25 Nov 2008 17:04:50 +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>:> > Si amigo seria este> > Si seria este> > comando.Parameters.Add(new NpgsqlParameter("@AgeCod", NpgsqlDbType.Varchar,> > 3)).Value = agecod;> >> > pero esto es para agregar parametros a la funcion y no para decir que> > parametros me va a retornar la funcion???> >> > Mi intencion es evitar tener que crear un tipo con las columnas que retorna> > una funcion y evitar esto> > create type tPrueba (asiagecod varchar,asifec date,asidoc varchar,asinum> > varchar,saldo numeric)> > Probaste si asi funciona???> > Porque es diferente probar desde PgAdmin a estar trabajando con el> Objeto que conversa con PG .. supongo que el se encargara de ese tipo> de situaciones...> > Prueba ejecutando la consulta con los parametros y llenando un dataSet> y despues recorrelo ... o sea declara tu funcion - parametrizala y> trata de obtener valores...> > Slds.> J> Ps : Buscaste en historico de la Lista???> > > y en la funcion poner esto> >> > CREATE OR REPLACE FUNCTION prueba() RETURNS SETOF tPrueba AS $$> >> > ya que sino me tocaria para cada funcion en la que deseo tener un resultado> > de varias tablas crear un tipo.> >> > Saludos> >> >> >> Date: Tue, 25 Nov 2008 16:43:27 +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>:> >> > 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()> >>> >> Claro porque la funcion esta definida con parametros...> >>> >> > 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);> >>> >> Y NpgsqlCommand no tiene una propiedad algo asi como Param??? o algo> >> por el estilo ... porque son sentencias separadas una para declarar> >> que es un Store Procedure o funcion y otra para seteo de parametros..> >> dale una vuelta por ese lado.> >>> >> Slds.> >>> >> >> >> > 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. Sign up today.> >>> >>> >>> >> --> >> Cumprimentos> >> jchavez> >> linux User #397972 on http://counter.li.org/> >> >> >> >> > ________________________________> > Stay up to date on your PC, the Web, and your mobile phone with Windows Live> > > > -- > Cumprimentos> jchavez> linux User #397972 on http://counter.li.org/
_________________________________________________________________
Stay up to date on your PC, the Web, and your mobile phone with Windows Live
http://clk.atdmt.com/MRT/go/119462413/direct/01/