No grabar al actualizar

24/05/2004 - 11:13 por fjmasero | Informe spam
Wenas:

Tengo una página en la q tengo un formulario para
introducción de datos.

Cuando se hace el submit, se "llama" a si misma y
dependiendo del valor de un campo del formulario
recibido, ejecuta la inserción de datos.

El problema es cuando después de q el usuario haya
solicitado grabar los datos, si actualiza/refresca, como
el valor de dicho campo de control sigue valiendo lo
mismo, se ejecuta el procedimiento de grabación,
duplicando el registro (se graba en una tabla con un solo
campo indice, de tipo identity).

¿Como se puede/suele solucionar este tipo de situaciones?.

Salu2 y gracias.

Preguntas similare

Leer las respuestas

#1 Carlos Rojas
24/05/2004 - 14:31 | Informe spam
Utiliza una pagina asp para cada cosa, lo que hago yo es lo siguiente:
Una pagina Formulario.asp donde estan el form y todos los objetos text y
combo, el action de ese formulario debe ser "Proceso.asp"
En Proceso.asp es en la que capturas los datos con
Request.Form("NombreDelObjeto") y procesas todos estos datos, si deseas
mostrar luego los resultados pues los almacenas en variables session , luego
tienes que hacer response.redirect("Formulario.asp") si deseas que el
visitante vuelva a usar el formulario o haces
response.redirect("FinTransaccion.asp") si solo deseas informar los
resultados del procesamiento de datos, muestrarlos con response.write o
<%=

De esta forma el visitante solo puede refrescar formulario.asp y
fintransaccion.asp, y no puede refrescar proceso.asp pues nunca carga en el
navegador. esto creo yo se ajusta bien al modelo de capas.

Saludos.
Carlos Rojas



"fjmasero" escribió en el mensaje
news:112ce01c4416f$520ebf50$
Wenas:

Tengo una página en la q tengo un formulario para
introducción de datos.

Cuando se hace el submit, se "llama" a si misma y
dependiendo del valor de un campo del formulario
recibido, ejecuta la inserción de datos.

El problema es cuando después de q el usuario haya
solicitado grabar los datos, si actualiza/refresca, como
el valor de dicho campo de control sigue valiendo lo
mismo, se ejecuta el procedimiento de grabación,
duplicando el registro (se graba en una tabla con un solo
campo indice, de tipo identity).

¿Como se puede/suele solucionar este tipo de situaciones?.

Salu2 y gracias.
Respuesta Responder a este mensaje
#2 Franco Figún
24/05/2004 - 19:20 | Informe spam
Deberias tratar de encapsular cada funcion, y usar una pagina para cada
funcion, por ejemplo insertarregistro.asp, borrarregistro.asp,
actualizarregistro.asp, etc, y de ser posible usar store procedure para
algunas cosas, lo cual te simplifica el trabajo.
Lo que deberías hacer con la duplicacion de registros, es en primer lugar
una pagina html que tome los datos, y los envie a una pagina asp, que
ejecute la funcion, y enviarla con redirect a otra pagina, sin posibilidad
de que el usuario haga un refresh o algo por el estilo.
Te aconsejo tambien usar transacciones para ese tema.
Saludos

FF
www.francofigun.com.ar
www.microsofties.com.ar
MSN:
UIN: 305336919
Yahoo MSN:

"fjmasero" wrote in message
news:112ce01c4416f$520ebf50$
Wenas:

Tengo una página en la q tengo un formulario para
introducción de datos.

Cuando se hace el submit, se "llama" a si misma y
dependiendo del valor de un campo del formulario
recibido, ejecuta la inserción de datos.

El problema es cuando después de q el usuario haya
solicitado grabar los datos, si actualiza/refresca, como
el valor de dicho campo de control sigue valiendo lo
mismo, se ejecuta el procedimiento de grabación,
duplicando el registro (se graba en una tabla con un solo
campo indice, de tipo identity).

¿Como se puede/suele solucionar este tipo de situaciones?.

Salu2 y gracias.
Respuesta Responder a este mensaje
#3 fjmasero
25/05/2004 - 18:59 | Informe spam
Gracias a todos por contestar.

Bueno, a mi modesto entender, no me parece q sea factible
el tener una página para los formularios y un asp para la
grabacion de los datos, y después de realizar dicha
grabación, hacer un redirect, pq entoneces pierdo los
datos y no los puedeo mostrar, o situaciones similares.

A no ser q en los asp donde se graba se "dupliquen" los
formularios.

¿O existe alguna otra solución?

Salu2



Wenas:

Tengo una página en la q tengo un formulario para
introducción de datos.

Cuando se hace el submit, se "llama" a si misma y
dependiendo del valor de un campo del formulario
recibido, ejecuta la inserción de datos.

El problema es cuando después de q el usuario haya
solicitado grabar los datos, si actualiza/refresca, como
el valor de dicho campo de control sigue valiendo lo
mismo, se ejecuta el procedimiento de grabación,
duplicando el registro (se graba en una tabla con un


solo
campo indice, de tipo identity).

¿Como se puede/suele solucionar este tipo de


situaciones?.

Salu2 y gracias.
.

Respuesta Responder a este mensaje
#4 Carlos Rojas
25/05/2004 - 19:47 | Informe spam
graba los datos en variables session y cuando muestres utiliza algo asi:

<input type="text" value="<%=session("LaVariable")%>">

espero te sirva.

Carlos Rojas


"fjmasero" escribió en el mensaje
news:1239a01c44279$a53d4ab0$
Gracias a todos por contestar.

Bueno, a mi modesto entender, no me parece q sea factible
el tener una página para los formularios y un asp para la
grabacion de los datos, y después de realizar dicha
grabación, hacer un redirect, pq entoneces pierdo los
datos y no los puedeo mostrar, o situaciones similares.

A no ser q en los asp donde se graba se "dupliquen" los
formularios.

¿O existe alguna otra solución?

Salu2



Wenas:

Tengo una página en la q tengo un formulario para
introducción de datos.

Cuando se hace el submit, se "llama" a si misma y
dependiendo del valor de un campo del formulario
recibido, ejecuta la inserción de datos.

El problema es cuando después de q el usuario haya
solicitado grabar los datos, si actualiza/refresca, como
el valor de dicho campo de control sigue valiendo lo
mismo, se ejecuta el procedimiento de grabación,
duplicando el registro (se graba en una tabla con un


solo
campo indice, de tipo identity).

¿Como se puede/suele solucionar este tipo de


situaciones?.

Salu2 y gracias.
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida