FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
¿Qué valores hay en las propiedades MasterSource, MasterFields e IndexFieldNames?
|
#2
|
|||
|
|||
Cita:
MasterSource --> dsStudySel MasterFields --> id IndexFieldNames --> idstudy Esta parte funciona bien o, por lo menos, si funciona mal, la información que muestra el dbgrid es la que espero, el problema se produce al insertar un elemento. |
#3
|
||||
|
||||
Gracias por retroalimentar. Hagamos una prueba:
Justo después de ejecutarse la línea "DM.cdsClassNew.Insert;", ¿qué valor hay en el campo IDStudy, y en el campo ID del conjunto de datos maestro? Y justo antes del Post, ¿qué valor hay en el campo IDStudy? Otra pregunta, ¿usas Filter u OnFilterRecord? Una más, ¿si sólo haces el Post (sin lo que está después de él), también desaparece el registro? Por último, ¿seguro que dsStudySel está conectado a cdsStudySel? |
#4
|
|||
|
|||
Cita:
Vale, he estado haciendo pruebas, si comento todo lo demás a partir del Post, en el grid se muestra bien, pero no aparece por la bbdd, además, si intento insertar una segunda vez, me da el siguiente error: Código:
raised exception class EDBClient with message 'Key violation.' Si meto el refresh, ya no aparece en el grid, inserta bien en bbdd y me deja insertar todas las veces que yo quiera. En cuanto a los valores que tienen: - Justo después del insert, el campo idstudy esta vacio y el id del maestro tiene como valor 7. - Justo antes del post el campo idstudy ya tiene también el valor 7. No utilizo ni Filter ni OnFilterRecord y sí, dsStudySel está conectado a cdsStudySel, lo he revisado por si las moscas. Muchas gracias por el interés. |
#5
|
||||
|
||||
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. |
#6
|
|||
|
|||
Cita:
He hecho la prueba quitando el mastersource y con eso me funciona, la verdad es que no tiene mucho sentido eso, creo yo. |
#7
|
||||
|
||||
Si gustas podemos verlo en conferencia por Skype. Tengo entendido que cuenta con "visor" de escritorio remoto. O si gustas haz una "prueba aislada" y anéxala en un mensaje para que los demás podamos mirar de cerca el problema.
Salgo por unas horas, saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
actualizar base de datos desde dbgrid | edgar_prospero | Varios | 36 | 31-08-2012 02:27:34 |
DBGrid. Al actualizar los datos 'No pude encontrar la fila para su actualizacion' | juliannemiro | Varios | 2 | 02-02-2012 04:30:02 |
Actualizar datos con TQuery sin mover dbgrid | odrack | Varios | 2 | 13-02-2009 19:53:03 |
actualizar datos mediante un dbgrid | chass | Varios | 2 | 28-07-2008 23:01:59 |
¿Cómo puedo actualizar en el DBGrid los datos que inserto en la misma sesión? | nuri | SQL | 3 | 18-07-2005 18:27:19 |
|