Re: Manipular tabla

Lists: pgsql-es-ayuda
From: Fernando Siguenza <fsigu(at)hotmail(dot)com>
To: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Manipular tabla
Date: 2008-11-18 14:45:58
Message-ID: COL111-W67F497ECCFD414CF30A051A1120@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


Amigos de la lista necesito su ayuda, tengo una tabla en la que guardo los documentos contables, algo asi,

asidoc, Asinum, asifec, total por decir algo
AA("Asiento de apertura") 00001 01-01-2008 10000
DG("DiarioGeneral") 00001 01-01-2008 80
FA("fACTURA") 00001 02-01-2008 120
DG("Diario General") 00002 01-21-2008 50

Ahora en mi aplicacion que estoy desarrollando en c#, tengo los botones de siguiente anterior inicio y fin,
Cuando carga mi aplicacion me quiero que me muestre el ultimo registro guardado en este caso DG 00002, luego si pulsa el boton anterior quiero que me muestre el que se grabo antepenultimo el FA 00001, como puedo moverme en la tabla de esta forma algo asi como un skip o algo similar,
si tuviera un solo tipo de documento lo hiciera consultando con el numero de documento restando o sumando, pero como tengo varios tipos de documentos como lo haria???.
Ustedes que ya tienen mas experiencia, es recomendable cada que pulse atras o siguiente o inicio, en la aplicacion mandara a consultar a la base de datos, o es preferible tener todo al inicio cargado en un datatable y moverse dentro de este, y tener un boton que diga actualizar para que cargue los nuevos registros, espero sus consejos.

Saludos

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


From: Juan Ramirez <juanrmiranda(at)hotmail(dot)com>
To: <fsigu(at)hotmail(dot)com>
Cc: PostGreSQL Lista de Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Manipular tabla
Date: 2008-11-18 14:52:10
Message-ID: BAY104-W169565CE0050D85C490EED1120@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


>From: fsigu(at)hotmail(dot)com
>o es preferible tener todo al inicio cargado en un datatable y moverse dentro de este, y tener un boton que diga actualizar para que cargue los nuevos registros, espero >sus consejos.

Eso es lo mas sabio, crearte un dataTable con todo el resultado para que te sea más factible. Si tenés consultas para hacerlo avisame, tengo por ahí una clase que simula un recordset de vb6.0 en .Net y es bastante fácil de trabajarlo de esta manera.

En mi aplicación trabajo bajo esa filosofía y todo se me facilita grandemente.

Juan Ramírez

_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline


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: Manipular tabla
Date: 2008-11-18 14:53:12
Message-ID: ded64bba0811180653v6b1b6dc3g10fde97557003f7c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

2008/11/18 Fernando Siguenza <fsigu(at)hotmail(dot)com>:
> Amigos de la lista necesito su ayuda, tengo una tabla en la que guardo los
> documentos contables, algo asi,
>
> asidoc, Asinum, asifec, total
> por decir algo
> AA("Asiento de apertura") 00001 01-01-2008 10000
> DG("DiarioGeneral") 00001 01-01-2008 80
> FA("fACTURA") 00001 02-01-2008 120
> DG("Diario General") 00002 01-21-2008 50
>
> Ahora en mi aplicacion que estoy desarrollando en c#, tengo los botones de
> siguiente anterior inicio y fin,
> Cuando carga mi aplicacion me quiero que me muestre el ultimo registro
> guardado en este caso DG 00002, luego si pulsa el boton anterior quiero que
> me muestre el que se grabo antepenultimo el FA 00001, como puedo moverme en
> la tabla de esta forma algo asi como un skip o algo similar,
> si tuviera un solo tipo de documento lo hiciera consultando con el numero de
> documento restando o sumando, pero como tengo varios tipos de documentos
> como lo haria???.
> Ustedes que ya tienen mas experiencia, es recomendable cada que pulse atras
> o siguiente o inicio, en la aplicacion mandara a consultar a la base de
> datos, o es preferible tener todo al inicio cargado en un datatable y
> moverse dentro de este, y tener un boton que diga actualizar para que cargue
> los nuevos registros, espero sus consejos.

Personalmente no me confio en los datatables- datareaders etc...
prefiero ir siempre a la BD .. pero por mania ... porque? porque me
aseguro tener siempre el dato que corresponde ... ahora tb ahi casos
en los que son necesarias y super utiles... en tu caso entiendo que
estas haciendo una especie de paginacion verdad???

y no puedes meter la consulta preparada dentro de una viewgrid y
paginarla???? asi te haces una funcion en PG que devuelva todo
formateado datos y demases y por cliente manejas todo...

Slds.

J

> Saludos
>
> ________________________________
> 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/


From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Fernando Siguenza <fsigu(at)hotmail(dot)com>
Cc: Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Manipular tabla
Date: 2008-11-18 16:30:42
Message-ID: 20081118163042.GE4141@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Fernando Siguenza escribió:
>
> Amigos de la lista necesito su ayuda, tengo una tabla en la que guardo los documentos contables, algo asi,
>
> asidoc, Asinum, asifec, total por decir algo
> AA("Asiento de apertura") 00001 01-01-2008 10000
> DG("DiarioGeneral") 00001 01-01-2008 80
> FA("fACTURA") 00001 02-01-2008 120
> DG("Diario General") 00002 01-21-2008 50
>
> Ahora en mi aplicacion que estoy desarrollando en c#, tengo los
> botones de siguiente anterior inicio y fin,
> Cuando carga mi aplicacion me quiero que me muestre el ultimo registro
> guardado en este caso DG 00002, luego si pulsa el boton anterior
> quiero que me muestre el que se grabo antepenultimo el FA 00001, como
> puedo moverme en la tabla de esta forma algo asi como un skip o algo
> similar,

La pregunta interesante es: ¿cuál es el criterio que determina que un
registro es "anterior" a otro? Determinando eso, es sencillo solucionar
tu problema: crea un cursor que traiga 100 (por ej) valores antes y despues del
que buscas, luego haces MOVE FORWARD 100; cuando el usuario presione
"atras" das un FETCH BACKWARDS 1, y cuando presiones adelante, "FETCH
FORWARD 1".

(Obviamente también puedes hacer eso mismo trayendo todos los 201
registros y manejas lo de moverte hacia atras y adelante usando las
facilidades del lenguaje, como se dijo en las otras respuestas).

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7"
"El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)