FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Tipo de tablas en ZEOS: ¿TZQuery o TZTable?
Hola.
Hace poco he tenido que modificar la capa de acceso a datos de una aplicación, he pasado de Firebird a MySQL. En principio todo ha ido bien, pero el problema ha empezado al pasar las tablas de tipo TIBDataset a TZQuery con TZUpdateSQL como objeto para actualizar los datos. La versión que manejo de Zeos es la 6.6.6. En principio, para las tablas pequeñas con pocos campos y pocos registros, tablas del tipo TZTable van bien, sin problemas. He cambiado del objeto TIBTable directamente, ahora bien, con la otra me surgen dos cosas. El primer error ha sido que en la rutina de inserción o modificación SQL que se pone en el propio objeto TZUpdateSQL, las Zeos añaden como parámetros los campos de localización del Where. Por ejemplo Código:
update tbdatos set APELLIDO1= ?APELLIDO1, APELLIDO2= ?APELLIDO2, CENTRO= ?CENTRO, COD_POSTAL= ?COD_POSTAL, DIRECCION= ?DIRECCION, DNI= ?DNI, FECHA_ALTA= ?FECHA_ALTA, FECHA_NAC= ?FECHA_NAC, where dni=?old_dni and centro=?old_centro Código:
TQueryTb.Params.ParamValues['centro']:=bd.TbCENTRO.Value; TQueryTb.Params.ParamValues['dni']:=bd.TbDNI.Value; He comprobado en el TZConnection que el AutoCommit está a True pero aún poniéndolo a False y guardando los datos con Commit a nivel de código, la información no se guarda. La consulta no produce error porque ya en Interbase iba bien. Mi duda es, dado que el objeto TZTable no me da ningún fallo si cambiar a este objeto será mejor que usar el TZQuery con TZUpdateSQL como objeto para actualizar los datos. Lo malo que he leído que el TZTable con millones de registros no va bien, y claro, dentro de las bases que manejo, hay con medio millón pero hay alguna con 2 ó 3 millones de registros y no quiero que todo vaya tan lento que no se pueda trabajar. Gracias de antemano, a ver si alguien con más experiencia en este componente me puede echar una mano, seguramente sea una tontería pero no la encuentro. Saludos Última edición por Jab fecha: 25-06-2010 a las 18:03:35. |
#2
|
||||
|
||||
En principio sólo se me ocurre preguntar una cosa: Un proyecto que está funcionando y que tiene tablas con millones de registros... ¿por qué lo cambias de firebird a mysql?
|
#3
|
||||
|
||||
La version 6.6.6. de Zeos tiene algunos bugs. Por ahí publiqué algún hilo mencionándolo. Por otro lado TZtable es un TZQuery con un SQL tipo "select * from table" por lo que no vale la pena usarlo mas que para tablas de unos cuantos registros.
Se me hace un poco raro la forma como manejas los parámetros porque Zeos usa ":" en lugar de "?" para indicarlos. El TZUpdateSQL solo se utiliza cuando el query original es multitabla, de lo contrario puedes editar directamente los datos del query, Zeos se encarga de lo demás. Creo que el erro es la forma en como estás indicando los parámetros.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
||||
|
||||
¿Entonces para qué sirve la propiedad "SQL" del ZQuery?, ¿en zeos qué componente es un Query "normal"?
|
#5
|
|||
|
|||
el TzQuery es un Query normal, con el puedes hacer cualquier consulta, edicion, actualizacion,iniciar transacciones, etc.
|
#6
|
||||
|
||||
Casimiro: EL TZtable es como si fuera un TZQuery en donde la propiedad SQL tiene "select * from tabla".
Con un TZQuery (y tambien TZTable) puedes poner lo mismo y utilizar las funciones Edit, Insert, Post y Cancel.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#7
|
|||
|
|||
Como le haces al guardar??, le das un Applyupdate al finalizar todas las inserciones??
verifica la propiedad TransactIsolationLevel del tzconnection a lo mejor x ahi puede star l problema. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Uso de TZQuery y TZUpdateSQL | jrperezt | MySQL | 4 | 03-02-2009 18:14:09 |
Problemas Con El Clientdataset Y Tztable | foxito | Conexión con bases de datos | 4 | 24-11-2008 17:38:37 |
Experiencia personal: TZtable + ZStoredProc (Zeos) + Generators (Firebird 2.1) | juanblack | Firebird e Interbase | 3 | 18-06-2008 16:36:21 |
ExecSQL en TZTable | david_uh | Varios | 1 | 20-06-2007 01:22:43 |
¿ Limit en TZTable de los Zeos ? | against | Conexión con bases de datos | 2 | 26-09-2006 16:36:24 |
|