Modificar registro sin crear uno nuevo
Buenas. se me esta presentado el siguiente problema:
tengo resgistros agregados en la bdd. En un formulario a través de el evento onchange de un edit busco ese registro, por supuesto el id de los registros es incremental, por ejemplo tengo un registro con el id 19, cuando abro el form me llena de una vez el edit del id con el numero 20, el asunto es que cuando hago una búsqueda en el edit del los resgistros existentes y voy actualizar dicho registro, al darle guardar, no se me actualiza el registro, sino que me crea otro con el id siguiente al que esta guardado en la tabla. No se que me esta faltando, necesito ayuda por favor. codigo de onchange del edit:
Codigo del boton donde guardo los nuevos registros y las actualizaciones: Ayuda por favor, quisiera modificar es el registro que se me muestra en los edit. cuyo id lo muestra el edit3 |
|
si utilizo update pero...
Hola, utilizo update dentro del mismo boton que guarda el examen, lo tengo asi:
Pero algo no esta bien porque me sigue creando un registro nuevo, no me modifica. Que le falta al código? o será que tengo algo que no debe ir? |
Para código Delphi, utilizad las etiquetas adecuadas.
Gracias. |
disculpa neftali
pero no se como hacerlo
|
Cita:
Como usar las etiquetas: Saludos :) |
Gracias ecfisa. Siempre tan amable
|
si me pueden ayudar con esto por favor
utilizo update para modificar registros pero me sigue apareciendo uno nuevo, ayuda por favor
Pero algo no esta bien porque me sigue creando un registro nuevo, no me modifica. Que le falta al código? o será que tengo algo que no debe ir? |
Con este código que tienes siempre va a pasar por el INSERT.
Haces una búsqueda con un SELECT, realizas el Open, luego cierras y luego haces un INSERT. Siempre va a pasar por ahí.
Tal vez no acabo de entender muy bien lo que quieres hacer. Lo lógico tal vez sería hacer el SELECT y después de hacer el Open, preguntar si lo ha encontrado o no para hacer un INSERT o un UPDATE. Algo así:
|
Hola yuyidt.
Es que la modificación de un registro debería ser simplemente algo similar a esto, y no ejecutar una inserción previamente... Saludos :) edito: ( Mientras escribía este, Neftalí ya te había indicado lo mismo :) ) |
Ok, no se si me explique bien,
el query6 esta conectado a la tabla temporal que es donde se van guardando las preguntas mientras no he guardado el examen. query3 esta conectado con la tabla eva_maestro. Si busco un examen y existe, quiero poder agregar mas preguntas a dicho examen, (recordando que estas preguntas se van guardando en tabla temporal, así que para el update creo que necesitare ambos querys - el 3 y el 6) pero no se como implementar el uso de los 2 query. Por ejemplo, en fdquery3 busco el examen y si existe entonces agrego mas preguntas(las cuales se van agregando a tabla de fdquery6) cuando voy a guardar el examen, necesito saber si la tabla temporal(fdquery6), tiene registros, si es así entonces: - actualizo el examen - y envío los registros de tabla temporal a eva_detalle(que es donde están todas las preguntas) |
Hola.
Ví las definiciones de tablas en este hilo: modificar tablas maestro_detalle. Pero no logro entender la lógica con que estas implementando la relación master-detail. Es decir, si ya completaste los datos referentes a la evaluación (maestro), sólo deberías ir agregando los datos de las preguntas en la tabla detalle con su campo de relación (ID_EXAMA) apuntando a la evaluación correspondiente. Si tu problema es que todavía no has guardado la fila en la tabla EVA_MAESTRO y por tanto no tienes su ID, en estos enlaces se habla del tema :
Saludos :) |
ok, agregue el siguiente codigo para modificar el examen:
actualiza el examen muy bien, el asunto es que como le agrego nuevas preguntas a dicho examen? (Recordando que las preguntas se guardan en la tabla temporal eva_estudiantes, dicha tabla conectada al fdquery6). agrego varias preguntas y se guardan en esa tabla temporal, quiero que cuando actualice el examen, las preguntas de la tabla temporal, se pasen a eva_detalle con el id del examen que se muestra en el edit 3. |
Hola.
Cita:
Tabla MAESTRO: Código:
ID | CAMPO_1 | CAMPO_N Código:
ID | CAMPO_1 | CAMPO_N | COL_REFER Luego y a modo de ejemplo, si desearamos consultar la información de todas las preguntas pertenecientes a determinada línea de la tabla MAESTRO, ejecutando la consulta: con el valor "1" en el parámetro IDMASTER, obtendríamos: Código:
ID | CAMPO_1 | CAMPO_N | COL_REFER |
La franja horaria es GMT +2. Ahora son las 18:02:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi