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)
-   -   Error en Applyupdates() de ClientDataSet con TIbQuery y Delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=2269)

jmoran 16-07-2003 13:27:40

Error en Applyupdates() de ClientDataSet con TIbQuery y Delphi 7
 
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 19: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.


La franja horaria es GMT +2. Ahora son las 19:30: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