RE: Ayuda con funcion y Punto Net

From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To: <jchavezb(at)gmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Ayuda con funcion y Punto Net
Date: 2008-11-25 16:54:46
Message-ID: COL111-W74D0D7F9E8CC54755E3D66A10B0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


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)
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
http://clk.atdmt.com/MRT/go/119462413/direct/01/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel CALVO FRANCO 2008-11-25 16:56:54 Re: PG Day
Previous Message Emanuel CALVO FRANCO 2008-11-25 16:53:34 Fwd: PG Day