FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Actualizacion BD en Ado
Saludos, Tengo dos TAdoQuery, 1 de ellos es en el que realizo una entrada y este en su evento AfterPost tiene el siguiente codigo:
Pero el Adoquery2 (que tiene conectada un DataSource para presentar los datos en un dbgrid) no se actualiza de los nuevos datos, SOLO lo hace (actualizarse) de ves en cuando, no siempre . Espero haberme explicado bien, muchas gracias y bye
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#2
|
||||
|
||||
Si lo cambios lo realizas en el ADOQuery1, tiene que cerrar primero el que realizas los cambio y luego abrir las base de datos.
Un saludo. |
#3
|
||||
|
||||
Aunque invierto el orden, obtengo el mismo problema
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#4
|
|||
|
|||
Revisa el parámetro CursorType de la AdoQuery1. Si es de tipo ctUpdateBatch ("Creo que se llama asi") los datos no se actualizan directamente. Necesitas hacer una llamada antes. Canviar esta propiedad a ctStatic para que te haga el post en la BD y te actualize la AdoQuery2.
__________________
Grandes frases de nuestro tiempo: "La pasta no és para tirarla, es para el Tunning" "TodoOK=False...." Enjoy it!!! |
#5
|
||||
|
||||
Esta de tipo ctStatic y como quiera no funciona . Pero gracias por tu interes.
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#6
|
|||
|
|||
Mira tambien que el locktype sea ltOptimistic.
Saludos
__________________
Grandes frases de nuestro tiempo: "La pasta no és para tirarla, es para el Tunning" "TodoOK=False...." Enjoy it!!! |
#7
|
||||
|
||||
Esta igual, el ADOQuery1 y el 2 tienen todas sus propiedades que vienen por default
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#8
|
|||
|
|||
al ejecutar el afterpost del adoquery1 no significa que se guarden los datos en la base de datos , simplemente es el afterpost del objeto tadoquery que estas usando. hasta que no finalices la transaccion , los datos no los vas a ver desde otros querys.
lo que quiero decir es que si no haces commit (en el afterpost o donde quieras) , cualquier otro adoquery que intente mostrar esos datos no los va a ver. yo pondria algo como esto.
y en el timer finalizas la transaccion , y cierras y abres el query para refrescar.
de todas formas , yo no lo haria asi , aunque todo depende de com tengas hecha la aplicacion , y que controles tengas enlazados Saludos. |
#9
|
||||
|
||||
Gracias tefots por tu respuesta, pero no logro entender como es eso de:
Si me lo puedes explicar, seria un exito
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#10
|
||||
|
||||
Hola
La verdad no entiendo el problema, tampoco entiendo la necesidad de una transaccion para una sola tabla o query, me parece que es como matar moscas con un cañon. Tengo un adoquery1, este lo que hace es hacer una insercion a modificacion o lo que sea de una o varias tablas. Ahora tengo un adoquery2, este lo que hace es ver la tabla en el formulario. Bueno, cual es el problema?. Hago la modificacion o lo que sea con el primero, y lo ejecuto, o lo abro, cierro y vuelvo a abrir (mas trabajo). Luego simplemente abro y cierro el segundo query. Donde esta lo complicado o es que me pierdo de algo?. Saludos
__________________
Siempre Novato |
#11
|
||||
|
||||
Cita:
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#12
|
||||
|
||||
Hola
Osea tienes el viejo problema del query perezoso. Cuando se ejecuta un query el dato se guarda en la base de datos en segundos. Cuando ejecuto el query1, el query2 si se cierra y luego se abre tiene por que tiene que ver el dato actualizado a no ser que como dije al principio, sea un query perezoso, pero creo que ya delphi los saco del sistema. Muy raro, muy raro. Saludos
__________________
Siempre Novato |
#13
|
||||
|
||||
Bueno, con la idea de tefots pude hacer algo que se adapte a lo que necesitaba, me di cuenta de que al adoquery le tomaba 5.5 segs para actualizar la base de datos, asi que puse un timer con un interval:6000 y resuelto jeje. Bueno, gracias a todos por sus respuestas
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#14
|
||||
|
||||
Hola
Me alegro que lo resolvieras. Solo para que te des una idea de como lo hago yo: Saludos
__________________
Siempre Novato |
#15
|
||||
|
||||
Talvez dentro de algunos 30 años yo este a ese nivel
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#16
|
||||
|
||||
Hola
Que va, no te subestimes, el mas Novato aqui soy yo, con solo un par de años en esto. Pronto harás cosas de verdad, mucho mejor que estas. Saludos
__________________
Siempre Novato |
#17
|
|||
|
|||
me alegro que funcionara.
todas formas eso de esperar 6 segundos para poder ver los datos desde otro query es mas que raro , rarisimo. en teoria cuando finalizas la transaccion , los datos ya deben estár inmediatamente disponibles y debes poder verlos desde la propia aplicación o desde otra. lo del If adoquery1.connection.intransaction then Adoquery1.connection.CommitTrans lo que hace es mirar si la conexion asociada al adoquery tiene una transaccion abierta , tonces hace commit de la transaccion. lo logico seria hacerlo directamente con el adoconnection , pero como no se si tienes algun adoconnection enlazado por eso lo puse asi. que base de datos utilizas ?. tienes algun adoconnection enlazado , uno por cada adoquery o uno para los dos ? , alo mejor esta ahi el problema por cierto , lo de los querys perezosos yo nunca lo habia oido ni nunca me ha pasado , a lo mejor es que los datos se paran a tomar un café antes de que esten 'disponibles'. saludos. Cita:
|
#18
|
||||
|
||||
tefots, use una base de datos de access y no tengo ningun adoconnection, pero despreocupate, aunque dure 6 segs para estar disponible, para lo que necesito, esta mas que bueno. Gracias de nuevo por tu interes
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ |
#19
|
|||
|
|||
Cita:
Gracias !! |
#20
|
||||
|
||||
Hola.
Ví que en otro hilo consultaste sobre la funcionalidad del método Requery, espero que esta traducción de la ayuda de Delphi conteste tu duda: Cita:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
actualizacion del help 129 | zidfrid | C++ Builder | 0 | 13-08-2007 00:22:56 |
Actualizacion | principiante22 | Internet | 2 | 09-07-2007 16:36:55 |
Actualización con SQL | luxus | Conexión con bases de datos | 4 | 08-07-2006 16:23:24 |
Actualizacion con ADO | Carlex | Conexión con bases de datos | 5 | 09-08-2005 08:08:57 |
actualizacion en red | @-Soft | Conexión con bases de datos | 1 | 12-08-2003 09:55:06 |
|