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.
 

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.

Preguntas similares