Ver Mensaje Individual
  #1  
Antiguo 16-07-2003
Avatar de jmoran
jmoran jmoran is offline
Miembro
 
Registrado: jul 2003
Ubicación: Antequera
Posts: 20
Reputación: 0
jmoran Va por buen camino
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.
Responder Con Cita