Re: Ayuda con funcion y Punto Net

From: Javier Chávez B(dot) <jchavezb(at)gmail(dot)com>
To: "Fernando Siguenza" <fsigu(at)hotmail(dot)com>
Cc: "Foro Postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con funcion y Punto Net
Date: 2008-11-25 17:20:35
Message-ID: ded64bba0811250920l5e7e4245l95bb5e5a8fab44f9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2008/11/25 Fernando Siguenza <fsigu(at)hotmail(dot)com>:
> 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

Leiste esto:

http://npgsql.projects.postgresql.org/docs/manual/UserManual.html

Por ahi puede darte una orientacion o no?

slds.
J

>
>> 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

--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2008-11-25 17:23:04 Re: Ayuda con funcion y Punto Net
Previous Message Guido Barosio 2008-11-25 17:20:19 Re: PG Day