Ver Mensaje Individual
  #15  
Antiguo 10-02-2014
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola El Rayo.

Según los dos procesos que describes (importar registros a una base de datos e insertar registros en un conjunto de datos de memoria), y tratando de atar cabos con la información que ofreces, podría recomendarte lo siguiente:

1. Para insertar a una base de datos registros que provienen de otra, es mejor prescindir de cualquier componente DataSet, ya que usar éste como intermediario sin duda hará que el proceso sea más lento. Es mejor realizar las inserciones enviando instrucciones Insert Into directamente a la base de datos mediante el objeto Conection/Database que estés empleando.

2. Si por cualquier otra razón, necesitas agregar miles de registros a un conjunto de datos de memoria, la clase nativa TClientDataSet sigue siendo una buena opción. Hay que saber qué propiedades activarle o desactivarle para que no realice trabajo innecesario. Por ejemplo, puedes cambiar su propiedad LogChanges a False, con lo cual obtendrás un beneficio de tiempo notable. Además, aunque es un poco más elaborado, puedes saltarte los clásicos métodos Insert, Append y otros, y agregar los registros mediante llamadas de bajo nivel a las interfaces DSBase y DSCursor que contiene el objeto, es decir, ejecutando directamente rutinas de MIDAS. Con ello te ahorras un montón de trámites que la clase hereda de TDataSet.

Yo me despido de este hilo, pero te invito a sentirte como en casa con las grandes consideraciones que compañeros como Casimiro tienen hacia las personas que necesitan ayuda. Así como él, hay muchos otros que lo único que buscan es apoyar a los miembros de la Comunidad Delphi (siempre y cuando éstos realmente se quieran dejar ayudar). Que tengas bonita tarde, te dejo en buenas manos.

Al González.
Responder Con Cita