Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Mejorar busqueda de registros y actualizacion (https://www.clubdelphi.com/foros/showthread.php?t=31456)

JuanchoArg 09-05-2006 00:29:23

Mejorar busqueda de registros y actualizacion
 
HOla amigos, tengo una duda respecto a como realizar la busqueda de registros para luego actualizarlos. El tema es el siguiente: Tengo una DB Access que tengo que actualizar con informacion que envian por FTP en formato txt. En este archivo viene informacion de articulos y precios.
Pueden ser nuevos articulos o solo actualizacion de precios. Es decir que debo primero verificar si el articulo existe y si es asi solo actualizo el precio, caso contrario inserto el nuevo articulo a la tabla. Primero probe con una consulta para ubicar el articulo y luego probe abriendo la tabla con articulos y usando LOCATE para ubicar el articulo. La segunda opcion es la que mejor resultado me dio en cuanto a velocidad. Luego hago el update o insert con un adoquery. La pregunta es: existe alguna forma de optimizar este proceso?? ya que en ocasiones viene mucha informacion en los archivos txt y el proceso se torna lento, y encima he notado que en ocasiones los update e insert no dan resultados, dejando sin actualizar la base de datos. En este caso creo que el problema debe ser porque otra aplicacion realizada en Visual Basic trabaja sobre la base de datos, pero solo para leer informacion (estamos hablando de un sistema de facturacion). Les pido por favor que analicen la situacion si pueden, que me comenten o aconsejen como puedo mejorar esto.

Desde ya, muchas gracias.

Saludos

Juan

waltergomez 09-05-2006 01:42:56

La opcion del locate es correcta dado que trabaja todo en memoria en el equipo cliente. Es tema son las actualizaciones creo que podriar usar
un ClientDataset conectado por intermedio de un DatasetProvider a un AdoQuery y en lugar de sucesivos querys con update e insert com ohaces ahora. Haces Edit e Insert (dependiendo si existe o no lo enviado) en el ClientDataset y la recorrida de lo enviado un un ApplyUpdates.
Hay que probar para ver si es mas rapido. Creo que si.
Saludos,

JuanchoArg 10-05-2006 03:06:48

Gracias por la ayuda, lo voy a probar, espero lograr buenos resultados.

Saludos


La franja horaria es GMT +2. Ahora son las 00:27:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi