Asegúrate de que el conjunto de datos que está del lado del proveedor permanece cerrado.
¿Qué campos tienen la bandera pfInKey? Toma en cuenta que debe tener esa bandera activa (de la propiedad ProviderFlags) el campo de llave primaria de todos los conjuntos de datos (sean maestros o detalles), tanto del lado proveedor como del lado cliente. Y, en caso de capturar varios registros en memoria antes de enviarlos al servidor, debes alimentar ese campo (no esperar a que el servidor lo haga). ¿Cómo se llama el campo de llave primaria de la tabla detalle? Los demás campos no deben tener activa esa bandera.
Por otra parte, estando bien todo lo anterior, ya no sería necesaria la sentencia de asignación al campo IDStudy (TClientDataSet lo asignará de forma automática).
Saludos.
|