FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problemas con componentes IBExpress a Interbase
Hola! Estoy diseñando una aplicación con conexión a BBDD Interbase mediante los componentes DBExpress. El tema es que quisiera incluir un formulario de una tabla principal y varios subformularios de campos de tablas relacionadas con ésta (campos multivaluados) al estilo access en la misma ficha. El primer problema es que utilizo los componentes TDataSet, TClientDataSed y TProviderDataSet para conectar El TDataSource con los campos de la tabla principal --- y un TSimpleDataSet con Parámetros para conectar los subformularios (DBGrid) de las otras tablas relacionadas. Pero supongo que tendré que actualizar éstos parámetros cada vez que se desplace el cursor y refrescar los datos de las cuadrículas. El otro, es que a la hora de intentar insertar nuevos registros mediante el método InsertRecord del TSimpleDataSet (o Insert) me da error en tiempo de ejecución. Me describe que no encuentra el primero de los fields clave (el primero que intento actualizar). ¿es porque no tengo actualizado dicho parámetro?
Alguien puede ayudarme? Soy inexperto. |
#2
|
||||
|
||||
Hola.
¿ Porqué utilizas SimpleDatasets en lugar de utilizar también la terna SQLQuery-DatasetProvider-ClientDataset ? Puedes utilizar el evento AfterScroll del ClientDataset maestro, para saber cuando tienes que refrescar los detalles. Respecto al error con los campos clave, para ahorrarte problemas es mejor especificarlos manualmente. En el ProviderFlags del SQLQuery (y no en el ClientDataset) de los campos llave especificas el flag pfInKey, además es conveniente cambiar el UpdateMode del DatasetProvider a upWhereKeyOnly. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
|