INSERT INTO lo hace dos veces

21/07/2005 - 13:37 por ENRIQUE CALATAYUD | Informe spam
Hola a todos, tengo un form me diante el cual el usuario introduce una serie
de datos en un bbdd, el problema que tengo es que cuando pincho un botón que
es Registrar me hace dos veces el INSERT. En teoría lo que tiene que hacer es
tras pulsar el INSERT introducir en la tabla correspondiente 7 registros,
pero en vez de hacer esto me mete 14 registros, me los duplica.
Código:

<%if ((request.form("txtDesde") <>"") and (request.Form("txtHasta")<>""))
then
Set adoConexion = Server.CreateObject("ADODB.Connection")
DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("../bbdd/parte_semanal.mdb")
adoConexion.Open DSNName
sempleado = request.Form("txtCempleado")
m = 1
n = 1
Do While n < 8
sDia = request.Form("txtDia"&n&"")
sProy = request.Form("selNproy"&n&"")
sCod = request.Form("selCod1"&n&"")
sDietas = request.Form("txtDietas"&n&"")
sKm = request.Form("txtKm"&n&"")
sImpkm = request.Form("txtImpkm"&n&"")
sOtros = request.Form("txtOtros"&n&"")
miConsulta = "INSERT INTO registro
(id,dia,n_proyecto,codigo,dietas,km,euros,otros,id _empleado)"
miConsulta = miConsulta & " VALUES
('"&m&"','"&sDia&"','"&sProy&"','"&sCod&"','"&sDietas&"','"&sKm&"','"&sImpkm&"','"&sOtros&"','895')"
Set rs = adoConexion.execute(miConsulta)

m = m+1
n = n+1
Loop
adoConexion.Close()
adoConexion = null
end if%>

PD También he hecho las pruebas con Recordset y me ocuure lo mismo.

Preguntas similare

Leer las respuestas

#1 Matias Iacono
21/07/2005 - 17:22 | Informe spam
Puedes colocar el codigo del formulario?

Usas alguna funcion javascript para hacer el submit del formulario?

Saludos.
Matias Iacono
Microsoft MVP ASP/ASP.net - DC3
https://mvp.support.microsoft.com/profiležACEDFE-6C76-4156-ACE3-BD3E257868B7
"ENRIQUE CALATAYUD" escribió en
el mensaje news:
Hola a todos, tengo un form me diante el cual el usuario introduce una


serie
de datos en un bbdd, el problema que tengo es que cuando pincho un botón


que
es Registrar me hace dos veces el INSERT. En teoría lo que tiene que hacer


es
tras pulsar el INSERT introducir en la tabla correspondiente 7 registros,
pero en vez de hacer esto me mete 14 registros, me los duplica.
Código:

<%if ((request.form("txtDesde") <>"") and (request.Form("txtHasta")<>""))
then
Set adoConexion = Server.CreateObject("ADODB.Connection")
DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("../bbdd/parte_semanal.mdb")
adoConexion.Open DSNName
sempleado = request.Form("txtCempleado")
m = 1
n = 1
Do While n < 8
sDia = request.Form("txtDia"&n&"")
sProy = request.Form("selNproy"&n&"")
sCod = request.Form("selCod1"&n&"")
sDietas = request.Form("txtDietas"&n&"")
sKm = request.Form("txtKm"&n&"")
sImpkm = request.Form("txtImpkm"&n&"")
sOtros = request.Form("txtOtros"&n&"")
miConsulta = "INSERT INTO registro
(id,dia,n_proyecto,codigo,dietas,km,euros,otros,id _empleado)"
miConsulta = miConsulta & " VALUES



('"&m&"','"&sDia&"','"&sProy&"','"&sCod&"','"&sDietas&"','"&sKm&"','"&sImpkm
&"','"&sOtros&"','895')"
Set rs = adoConexion.execute(miConsulta)

m = m+1
n = n+1
Loop
adoConexion.Close()
adoConexion = null
end if%>

PD También he hecho las pruebas con Recordset y me ocuure lo mismo.

Respuesta Responder a este mensaje
#2 Lester Zunino
10/08/2005 - 22:32 | Informe spam
Enrique,

generalmente este problema ocurre cuando usas javascript para validar
los campos del formulario, prueba registrando los campos si usar la función
de java en el formulario.

"ENRIQUE CALATAYUD" escribió en
el mensaje news:
Hola a todos, tengo un form me diante el cual el usuario introduce una
serie
de datos en un bbdd, el problema que tengo es que cuando pincho un botón
que
es Registrar me hace dos veces el INSERT. En teoría lo que tiene que hacer
es
tras pulsar el INSERT introducir en la tabla correspondiente 7 registros,
pero en vez de hacer esto me mete 14 registros, me los duplica.
Código:

<%if ((request.form("txtDesde") <>"") and (request.Form("txtHasta")<>""))
then
Set adoConexion = Server.CreateObject("ADODB.Connection")
DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("../bbdd/parte_semanal.mdb")
adoConexion.Open DSNName
sempleado = request.Form("txtCempleado")
m = 1
n = 1
Do While n < 8
sDia = request.Form("txtDia"&n&"")
sProy = request.Form("selNproy"&n&"")
sCod = request.Form("selCod1"&n&"")
sDietas = request.Form("txtDietas"&n&"")
sKm = request.Form("txtKm"&n&"")
sImpkm = request.Form("txtImpkm"&n&"")
sOtros = request.Form("txtOtros"&n&"")
miConsulta = "INSERT INTO registro
(id,dia,n_proyecto,codigo,dietas,km,euros,otros,id _empleado)"
miConsulta = miConsulta & " VALUES
('"&m&"','"&sDia&"','"&sProy&"','"&sCod&"','"&sDietas&"','"&sKm&"','"&sImpkm&"','"&sOtros&"','895')"
Set rs = adoConexion.execute(miConsulta)

m = m+1
n = n+1
Loop
adoConexion.Close()
adoConexion = null
end if%>

PD También he hecho las pruebas con Recordset y me ocuure lo mismo.

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