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:37:05
Message-ID: COL111-W6453B3F4907730D2604B92A10B0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2008-11-25 16:43:27 Re: Ayuda con funcion y Punto Net
Previous Message Alvaro Herrera 2008-11-25 16:33:28 Re: PG Day