PDA

Ver la Versión Completa : Error en Applyupdates() de ClientDataSet con TIbQuery y Delphi 7


jmoran
16-07-2003, 12:27:40
Hola.

Acabo de migrar una aplicación que tenia en Delphi 6 a Delphi 7. Cuando he empezado a probarla tras recompilarla he notado que aparecen errores cuando llamo a ApplyUpdates de los ClientDataSet. Esto funcionaba bien en Delphi 6 pero en el 7 siempre obtengo un error.

Un modulo básico contiene lo siguiente.
- Un componente TIbquery cuya consulta es un 'SELECT * FROM ...' de una sola tabla. Le he añadido los campos persistentes y he puesto Providerflags.pfInkey al campo que es clave primaria.
- Un TDataSetProvider con DAtaset apuntando al TIbquery y con UpdateMode = UpWhereKeyOnly.
- Un ClientDataset conectado al Datasetprovider y a los controles de edicion de datos.
- Métodos para llamar A ClientDataset.Applyupdates(0) en el momento que quiera pasar los cambios a la Base de datos.

Cuando llamo a este último método me salta una excepcion con el texto ' exception EibclientError with message 'SQL Parse Error: Parameter Name Expected' y tras este uno con 'Database not Assigned'.

Probando, he decidido poner un TSQLConnection y un TSQLQuery y conectarme a Interbase por dbexpress. He hecho las mismas operaciones que hice sobre la tIbquery en el TSqlQuery (campos, providerflags, SQL) y he redireccionado el DatasetProvider.Dataset a SQLQuery.
De esta forma ha funcionado sin problema.

¿Alguien puede darme alguna pista o ayuda para solventar el error con los componentes de Interbase?

Gracias.

jmoran
16-07-2003, 18:47:03
Hola de nuevo.

He solucionado el problema. Parece ser que la version de IBX que viene con mi Delphi 7 no funciona bien. He actualizado a la última a traves de los enlaces del club delphi y ahora funciona correctamente.