Ver Mensaje Individual
  #2  
Antiguo 02-07-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 24
guillotmarc Va por buen camino
Hola.

Nunca he hecho una aplicación similar, aunque en tu caso probaría con los componentes dbExpress, puesto que su forma de trabajo es el comentado de cajero de banco.

Es decir cuando abres un dataset, lo que se hace es lanzar un query, recoger todos los registros y guardarlos en memória local, cerrando posteriormente el query (es decir, que en el servidor no queda nada abierto).

A medida que haces modificacions, todo se va haciendo en la memória local, sin ningún acceso a la base de datos. Hasta el momento en que llamas al método ApplyUpdates, el cual pasa todos los cambios de golpe a la base de datos (mediante las sentencias INSERT y UPDATE necesarias)

Si aún así el rendimiento no te parece satisfactorio (Para añadir registros, tendrás que abrir antes un dataset vacío, cosa que lanzará un query a la base de datos, y que puede tardar en devolverlo). Siempre te queda la opción de trabajar como comentas, sin controles db-aware. Sin ninguna duda va a ser mucho más rápido. Sobre todo en el momento de añadir, porqué el usuario puede empezar a escribir los datos sin tener que esperar a que el servidor haya devuelto un dataset vacío.

Naturalmente esta opción conlleva mucho más código y por tanto horas de programación, por lo que solo te la recomiendo si no puedes conseguir una buena velocidad con los controles db-aware.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita