![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Aqui lo raro es que los datos si se van a la base de datos y se guardan, pero como que el clientdataset pierde sincronía o algo porque limpia todos los campos y ya no muestra los del registro que se acaba de insertar y que de hecho se convierte en el actual. Cabe mencionar que hago el refresh correspondiente justo después de aplicar los cambios.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#2
|
||||
|
||||
|
Cita:
... espero encuentren la solución, cualquier cosa la comentaré al respecto ![]()
__________________
Web |
|
#3
|
||||
|
||||
|
Necio que soy, lo de menos sería cerrar el formulario y tan-tan, si quieren editarlo nuevamente que lo abran con la opción adecuada y punto. El chiste es que los datos que muestra el formulario corresponden a lo que vendria siendo la tabla maestra y a su vez muestra datos de al menos 3 tablas hijas. Esta tabla maestra tiene un campo autoincrementado que la identifica y como es obvio es necesario saber el número que le asignó la BD para a su vez colocarlo en la clave foránea de las tablas hijas. Inicialmente habia pensado en aplicar los cambios con applyupdates y luego acceder al valor de la clave mediante fielbyname de la cdspadre pero ahi fue donde me di cuenta que siempre vaciaba los datos de todo el registro. Lo que hice fue ir directamente a la BD y pedirle el último autoinc y proceder de ahí. Lo que que me ha seguido molestando es el por qué se borran todos los campos justo despues del applyupdates.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#4
|
||||
|
||||
|
¿Usas MySQL? Igual no tiene nada que ver, pero tengo idea de haber visto algo relacionado al respecto con los autoinc. Voy a aventurar algo, a ver si no es descabellado:
Cuando haces el Refresh, el CDS debe solicitar nuevamente los datos al servidor (o al provider), pero posiblemente no tenga aún el valor autoinc generado por el servidor; luego entonces, no sabe qué registro pedir. // Saludos |
|
#5
|
||||
|
||||
|
Si Roman, uso MySQL...
Cita:
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#6
|
||||
|
||||
|
No he podido reproducir el comportamiento que describes ni con ZEOS ni con MyDAC, ¿qué componentes usas?
// Saludos |
|
#7
|
||||
|
||||
|
Uso Zeos....
Ya descubrí que pasa. Efectivamente es lo que decías Roman. El componente de acceso a datos, un Zquery tiene este SQL:
El parametro :campoindice lo utilizo para acceder algun registro en particular. Ahora bien cuando deseo insertar uno nuevo ejecuto el query con el parametro en nulo (no devuelve nada obviamente) y hago un Append en el ClientDataset. Lleno todos los campos (excepto el valor clave que es un autoinc) y hago el post + applyupdates. Y aqui todo va bien como ya platiqué, se graba y todo muy bien. Pero...como tu decías y decías bien, para el ClientDataset el sigue teniendo un valor nulo en el parametro por lo que al darle refresh vuelvo a tener el query como al principio de la edición: vacío. SOLUCION: Después de hacer applyupdates, obtener el autoinc de MySQL y ahora sí colocarlo en el parámetro que estaba en nulo al principio y hacer el refresh. Voilá...funciona perfecto. Gracias Román.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Sumar campos despues de Filtrado | Sr.Scorpion | Conexión con bases de datos | 7 | 23-03-2007 12:31:57 |
| key violatin después de un ApplyUpdates(0) | jmlifi | Varios | 8 | 06-04-2006 14:54:36 |
| obtener valor de un campo despues de un insert + applyupdates(0) | wonder boy | Conexión con bases de datos | 1 | 10-06-2004 23:05:39 |
| ¿Por qué CommitRetaining funciona después de agregar, pero no después de modificar? | Al González | Firebird e Interbase | 7 | 16-02-2004 23:47:28 |
| campos de un grid despues de un query | davidgaldo | Conexión con bases de datos | 1 | 13-11-2003 14:46:49 |
|