Resultados de formulario no se guardan en base de datos

17/01/2008 - 00:25 por Benjamin Moreno | Informe spam
Estoy utilizando IIS 7, donde he montado un formulario realizado con
Frontpage 2003. He creado la base de datos con Access 2007, en formato
compatible.

Todo funciona bien desde Frontpage, el formulario se conecta con la base de
datos y no me tira ningun error ahí.

Los equipos que acceden al servidor se conectan bien, no hay problema
alguno, pero al contestar el formulario y darle al botón Enviar, sale la
pantalla de confirmación del formulario, pero al revisar la base de datos,
ésta no tiene guardado ningún dato del formulario.

¿Alguien sabe a qué se pueda deber?

Preguntas similare

Leer las respuestas

#1 ¥-- Lombar --¥
17/01/2008 - 07:26 | Informe spam
Pues me temo que haces la conexión pero no la creación y grabación del
registro.
Si no hay mensaje de error la conexión es coherente, pero no se realiza la
escritura.
¿con que código escribes en la base de datos?


¥-- Lombar --¥
Jose Lombardia

Visita mi blog:
Comer y Rodar
www.lombar.com


"Benjamin Moreno" <Benjamin escribió en el
mensaje de noticias
news:
Estoy utilizando IIS 7, donde he montado un formulario realizado con
Frontpage 2003. He creado la base de datos con Access 2007, en formato
compatible.

Todo funciona bien desde Frontpage, el formulario se conecta con la base
de
datos y no me tira ningun error ahí.

Los equipos que acceden al servidor se conectan bien, no hay problema
alguno, pero al contestar el formulario y darle al botón Enviar, sale la
pantalla de confirmación del formulario, pero al revisar la base de datos,
ésta no tiene guardado ningún dato del formulario.

¿Alguien sabe a qué se pueda deber?

Respuesta Responder a este mensaje
#2 Benjamin Moreno
19/01/2008 - 23:07 | Informe spam
"¥-- Lombar --¥" wrote:

Pues me temo que haces la conexión pero no la creación y grabación del
registro.
Si no hay mensaje de error la conexión es coherente, pero no se realiza la
escritura.
¿con que código escribes en la base de datos?




No estoy utilizando código alguno, más que el que genera el mismo FP...

Debo modificarlo manualmente?

**Esta es la primer parte del código original:
<%
' FP_ASP ASP generado automáticamente por un componente de FrontPage. No lo
modifique.

On Error Resume Next
Session("FP_OldCodePage") = Session.CodePage
Session("FP_OldLCID") = Session.LCID
Session.CodePage = 1252
Session.LCID = 2058
Err.Clear

strErrorUrl = ""

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
If Request.Form("VTI-GROUP") = "0" Then
Err.Clear

Set fp_conn = Server.CreateObject("ADODB.Connection")
FP_DumpError strErrorUrl, "No se puede crear una conexión"

Set fp_rs = Server.CreateObject("ADODB.Recordset")
FP_DumpError strErrorUrl, "No se puede crear un conjunto de registros"

fp_conn.Open Application("Base_de_datos1_ConnectionString")
FP_DumpError strErrorUrl, "No se puede abrir la base de datos"

fp_rs.Open "PLANEACION", fp_conn, 1, 3, 2 ' adOpenKeySet, adLockOptimistic,
adCmdTable
FP_DumpError strErrorUrl, "No se puede abrir el conjunto de registros"

fp_rs.AddNew
FP_DumpError strErrorUrl, "No se puede agregar un nuevo conjunto de
registros a la base de datos"
Dim arFormFields0(30)
Dim arFormDBFields0(30)
Dim arFormValues0(30)

arFormFields0(0) = "A1_1"
arFormDBFields0(0) = "A1_1"
arFormValues0(0) = Request("A1_1")
arFormFields0(1) = "A1_2"
arFormDBFields0(1) = "A1_2"
arFormValues0(1) = Request("A1_2")
arFormFields0(2) = "A2_1"
arFormDBFields0(2) = "A2_1"
arFormValues0(2) = Request("A2_1")
arFormFields0(3) = "A1_3"
arFormDBFields0(3) = "A1_3"
arFormValues0(3) = Request("A1_3")
arFormFields0(4) = "A2_2"
arFormDBFields0(4) = "A2_2"
arFormValues0(4) = Request("A2_2")
arFormFields0(5) = "A3_1"
arFormDBFields0(5) = "A3_1"
arFormValues0(5) = Request("A3_1")
arFormFields0(6) = "A1_4"
arFormDBFields0(6) = "A1_4"
arFormValues0(6) = Request("A1_4")
arFormFields0(7) = "A2_3"
arFormDBFields0(7) = "A2_3"
arFormValues0(7) = Request("A2_3")
arFormFields0(8) = "A3_2"
arFormDBFields0(8) = "A3_2"
arFormValues0(8) = Request("A3_2")
arFormFields0(9) = "A4_1"
arFormDBFields0(9) = "A4_1"
arFormValues0(9) = Request("A4_1")
arFormFields0(10) = "A1_5"
arFormDBFields0(10) = "A1_5"
arFormValues0(10) = Request("A1_5")
arFormFields0(11) = "A2_4"
arFormDBFields0(11) = "A2_4"
arFormValues0(11) = Request("A2_4")
arFormFields0(12) = "A3_3"
arFormDBFields0(12) = "A3_3"
arFormValues0(12) = Request("A3_3")
arFormFields0(13) = "A4_2"
arFormDBFields0(13) = "A4_2"
arFormValues0(13) = Request("A4_2")
arFormFields0(14) = "A5_1"
arFormDBFields0(14) = "A5_1"
arFormValues0(14) = Request("A5_1")
arFormFields0(15) = "A2_5"
arFormDBFields0(15) = "A2_5"
arFormValues0(15) = Request("A2_5")
arFormFields0(16) = "A3_4"
arFormDBFields0(16) = "A3_4"
arFormValues0(16) = Request("A3_4")
arFormFields0(17) = "A4_3"
arFormDBFields0(17) = "A4_3"
arFormValues0(17) = Request("A4_3")
arFormFields0(18) = "A5_2"
arFormDBFields0(18) = "A5_2"
arFormValues0(18) = Request("A5_2")
arFormFields0(19) = "A6_1"
arFormDBFields0(19) = "A6_1"
arFormValues0(19) = Request("A6_1")
arFormFields0(20) = "A3_5"
arFormDBFields0(20) = "A3_5"
arFormValues0(20) = Request("A3_5")
arFormFields0(21) = "A4_4"
arFormDBFields0(21) = "A4_4"
arFormValues0(21) = Request("A4_4")
arFormFields0(22) = "A5_3"
arFormDBFields0(22) = "A5_3"
arFormValues0(22) = Request("A5_3")
arFormFields0(23) = "A6_2"
arFormDBFields0(23) = "A6_2"
arFormValues0(23) = Request("A6_2")
arFormFields0(24) = "A4_5"
arFormDBFields0(24) = "A4_5"
arFormValues0(24) = Request("A4_5")
arFormFields0(25) = "A5_4"
arFormDBFields0(25) = "A5_4"
arFormValues0(25) = Request("A5_4")
arFormFields0(26) = "A6_3"
arFormDBFields0(26) = "A6_3"
arFormValues0(26) = Request("A6_3")
arFormFields0(27) = "A5_5"
arFormDBFields0(27) = "A5_5"
arFormValues0(27) = Request("A5_5")
arFormFields0(28) = "A6_4"
arFormDBFields0(28) = "A6_4"
arFormValues0(28) = Request("A6_4")
arFormFields0(29) = "A6_5"
arFormDBFields0(29) = "A6_5"
arFormValues0(29) = Request("A6_5")

FP_SaveFormFields fp_rs, arFormFields0, arFormDBFields0

If Request.ServerVariables("REMOTE_USER") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_USER"),
"Nombre_de_usuario"
End If
FP_SaveFieldToDB fp_rs, Now, "Marca_de_hora"
If Request.ServerVariables("REMOTE_HOST") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_HOST"),
"Nombre_del_equipo_remoto"
End If
If Request.ServerVariables("HTTP_USER_AGENT") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("HTTP_USER_AGENT"),
"Tipo_de_explorador"
End If

fp_rs.Update
FP_DumpError strErrorUrl, "No se puede actualizar la base de datos"

fp_rs.Close
fp_conn.Close

FP_FormConfirmation "text/html; charset=windows-1252",_
"Confirmación de formulario",_
"Gracias por enviar la información siguiente:",_
"I_FCE_planeacion.asp",_
"Volver al formulario."

End If
End If

Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")

%>

**Esta es la segunda parte:
<form method="POST" action="--WEBBOT-SELF--" onSubmit=""
name="I_FCE_Planeacion" language="JavaScript">
<!--webbot bot="SaveDatabase" startspan SuggestedExt="asp"
S-DataConnection="Base_de_datos1" S-RecordSource="PLANEACION"
S-Form-Fields="A1_1 A1_2 A2_1 A1_3 A2_2 A3_1 A1_4 A2_3 A3_2 A4_1 A1_5 A2_4
A3_3 A4_2 A5_1 A2_5 A3_4 A4_3 A5_2 A6_1 A3_5 A4_4 A5_3 A6_2 A4_5 A5_4 A6_3
A5_5 A6_4 A6_5" S-Form-DBFields="A1_1 A1_2 A2_1 A1_3 A2_2 A3_1 A1_4 A2_3 A3_2
A4_1 A1_5 A2_4 A3_3 A4_2 A5_1 A2_5 A3_4 A4_3 A5_2 A6_1 A3_5 A4_4 A5_3 A6_2
A4_5 A5_4 A6_3 A5_5 A6_4 A6_5" S-Builtin-Fields="REMOTE_USER Timestamp
REMOTE_HOST HTTP_USER_AGENT" S-Builtin-DBFields="Nombre_de_usuario
Marca_de_hora Nombre_del_equipo_remoto Tipo_de_explorador"
U-Database-URL="I_FCE.mdb" U-ASP-Include-Url="_fpclass/fpdbform.inc"
file="_fpclass/fpdbform.inc"--><!--webbot bot="SaveDatabase" endspan
i-checksum="40548" -->
Respuesta Responder a este mensaje
#3 ¥-- Lombar --¥
20/01/2008 - 10:45 | Informe spam
Ese creo, que a título personal, es el error que cometes: el utilizar el
código del FP.
FrontPage es muy bueno para ciertas cosas, pero para esto lo único que
incluye es código superfluo y al final surgen este tipo de problemas.
El ASP es muy sencillo de utilizar a poco que te metas con el mismo y te
dará muchas satisfacciones. Y lo que estás haciendo con FrontPage lo haces
con menos de la mita de de código, siendo mas sencillo depurarlo. Solo ver
lo que has colocado dá dolor de cabeza. Con sólo que el servidor no tenga
instaladas las extensiones de FrontPage no te funcionará.





¥-- Lombar --¥
Jose Lombardia

Visita mi blog:
Comer y Rodar
www.lombar.com


"Benjamin Moreno" escribió en el
mensaje de noticias
news:
"¥-- Lombar --¥" wrote:

Pues me temo que haces la conexión pero no la creación y grabación del
registro.
Si no hay mensaje de error la conexión es coherente, pero no se realiza
la
escritura.
¿con que código escribes en la base de datos?




No estoy utilizando código alguno, más que el que genera el mismo FP...

Debo modificarlo manualmente?

**Esta es la primer parte del código original:
<%
' FP_ASP ASP generado automáticamente por un componente de FrontPage. No
lo
modifique.

On Error Resume Next
Session("FP_OldCodePage") = Session.CodePage
Session("FP_OldLCID") = Session.LCID
Session.CodePage = 1252
Session.LCID = 2058
Err.Clear

strErrorUrl = ""

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
If Request.Form("VTI-GROUP") = "0" Then
Err.Clear

Set fp_conn = Server.CreateObject("ADODB.Connection")
FP_DumpError strErrorUrl, "No se puede crear una conexión"

Set fp_rs = Server.CreateObject("ADODB.Recordset")
FP_DumpError strErrorUrl, "No se puede crear un conjunto de registros"

fp_conn.Open Application("Base_de_datos1_ConnectionString")
FP_DumpError strErrorUrl, "No se puede abrir la base de datos"

fp_rs.Open "PLANEACION", fp_conn, 1, 3, 2 ' adOpenKeySet,
adLockOptimistic,
adCmdTable
FP_DumpError strErrorUrl, "No se puede abrir el conjunto de registros"

fp_rs.AddNew
FP_DumpError strErrorUrl, "No se puede agregar un nuevo conjunto de
registros a la base de datos"
Dim arFormFields0(30)
Dim arFormDBFields0(30)
Dim arFormValues0(30)

arFormFields0(0) = "A1_1"
arFormDBFields0(0) = "A1_1"
arFormValues0(0) = Request("A1_1")
arFormFields0(1) = "A1_2"
arFormDBFields0(1) = "A1_2"
arFormValues0(1) = Request("A1_2")
arFormFields0(2) = "A2_1"
arFormDBFields0(2) = "A2_1"
arFormValues0(2) = Request("A2_1")
arFormFields0(3) = "A1_3"
arFormDBFields0(3) = "A1_3"
arFormValues0(3) = Request("A1_3")
arFormFields0(4) = "A2_2"
arFormDBFields0(4) = "A2_2"
arFormValues0(4) = Request("A2_2")
arFormFields0(5) = "A3_1"
arFormDBFields0(5) = "A3_1"
arFormValues0(5) = Request("A3_1")
arFormFields0(6) = "A1_4"
arFormDBFields0(6) = "A1_4"
arFormValues0(6) = Request("A1_4")
arFormFields0(7) = "A2_3"
arFormDBFields0(7) = "A2_3"
arFormValues0(7) = Request("A2_3")
arFormFields0(8) = "A3_2"
arFormDBFields0(8) = "A3_2"
arFormValues0(8) = Request("A3_2")
arFormFields0(9) = "A4_1"
arFormDBFields0(9) = "A4_1"
arFormValues0(9) = Request("A4_1")
arFormFields0(10) = "A1_5"
arFormDBFields0(10) = "A1_5"
arFormValues0(10) = Request("A1_5")
arFormFields0(11) = "A2_4"
arFormDBFields0(11) = "A2_4"
arFormValues0(11) = Request("A2_4")
arFormFields0(12) = "A3_3"
arFormDBFields0(12) = "A3_3"
arFormValues0(12) = Request("A3_3")
arFormFields0(13) = "A4_2"
arFormDBFields0(13) = "A4_2"
arFormValues0(13) = Request("A4_2")
arFormFields0(14) = "A5_1"
arFormDBFields0(14) = "A5_1"
arFormValues0(14) = Request("A5_1")
arFormFields0(15) = "A2_5"
arFormDBFields0(15) = "A2_5"
arFormValues0(15) = Request("A2_5")
arFormFields0(16) = "A3_4"
arFormDBFields0(16) = "A3_4"
arFormValues0(16) = Request("A3_4")
arFormFields0(17) = "A4_3"
arFormDBFields0(17) = "A4_3"
arFormValues0(17) = Request("A4_3")
arFormFields0(18) = "A5_2"
arFormDBFields0(18) = "A5_2"
arFormValues0(18) = Request("A5_2")
arFormFields0(19) = "A6_1"
arFormDBFields0(19) = "A6_1"
arFormValues0(19) = Request("A6_1")
arFormFields0(20) = "A3_5"
arFormDBFields0(20) = "A3_5"
arFormValues0(20) = Request("A3_5")
arFormFields0(21) = "A4_4"
arFormDBFields0(21) = "A4_4"
arFormValues0(21) = Request("A4_4")
arFormFields0(22) = "A5_3"
arFormDBFields0(22) = "A5_3"
arFormValues0(22) = Request("A5_3")
arFormFields0(23) = "A6_2"
arFormDBFields0(23) = "A6_2"
arFormValues0(23) = Request("A6_2")
arFormFields0(24) = "A4_5"
arFormDBFields0(24) = "A4_5"
arFormValues0(24) = Request("A4_5")
arFormFields0(25) = "A5_4"
arFormDBFields0(25) = "A5_4"
arFormValues0(25) = Request("A5_4")
arFormFields0(26) = "A6_3"
arFormDBFields0(26) = "A6_3"
arFormValues0(26) = Request("A6_3")
arFormFields0(27) = "A5_5"
arFormDBFields0(27) = "A5_5"
arFormValues0(27) = Request("A5_5")
arFormFields0(28) = "A6_4"
arFormDBFields0(28) = "A6_4"
arFormValues0(28) = Request("A6_4")
arFormFields0(29) = "A6_5"
arFormDBFields0(29) = "A6_5"
arFormValues0(29) = Request("A6_5")

FP_SaveFormFields fp_rs, arFormFields0, arFormDBFields0

If Request.ServerVariables("REMOTE_USER") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_USER"),
"Nombre_de_usuario"
End If
FP_SaveFieldToDB fp_rs, Now, "Marca_de_hora"
If Request.ServerVariables("REMOTE_HOST") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("REMOTE_HOST"),
"Nombre_del_equipo_remoto"
End If
If Request.ServerVariables("HTTP_USER_AGENT") <> "" Then
FP_SaveFieldToDB fp_rs, Request.ServerVariables("HTTP_USER_AGENT"),
"Tipo_de_explorador"
End If

fp_rs.Update
FP_DumpError strErrorUrl, "No se puede actualizar la base de datos"

fp_rs.Close
fp_conn.Close

FP_FormConfirmation "text/html; charset=windows-1252",_
"Confirmación de formulario",_
"Gracias por enviar la información siguiente:",_
"I_FCE_planeacion.asp",_
"Volver al formulario."

End If
End If

Session.CodePage = Session("FP_OldCodePage")
Session.LCID = Session("FP_OldLCID")

%>

**Esta es la segunda parte:
<form method="POST" action="--WEBBOT-SELF--" onSubmit=""
name="I_FCE_Planeacion" language="JavaScript">
<!--webbot bot="SaveDatabase" startspan SuggestedExt="asp"
S-DataConnection="Base_de_datos1" S-RecordSource="PLANEACION"
S-Form-Fields="A1_1 A1_2 A2_1 A1_3 A2_2 A3_1 A1_4 A2_3 A3_2 A4_1 A1_5 A2_4
A3_3 A4_2 A5_1 A2_5 A3_4 A4_3 A5_2 A6_1 A3_5 A4_4 A5_3 A6_2 A4_5 A5_4 A6_3
A5_5 A6_4 A6_5" S-Form-DBFields="A1_1 A1_2 A2_1 A1_3 A2_2 A3_1 A1_4 A2_3
A3_2
A4_1 A1_5 A2_4 A3_3 A4_2 A5_1 A2_5 A3_4 A4_3 A5_2 A6_1 A3_5 A4_4 A5_3 A6_2
A4_5 A5_4 A6_3 A5_5 A6_4 A6_5" S-Builtin-Fields="REMOTE_USER Timestamp
REMOTE_HOST HTTP_USER_AGENT" S-Builtin-DBFields="Nombre_de_usuario
Marca_de_hora Nombre_del_equipo_remoto Tipo_de_explorador"
U-Database-URL="I_FCE.mdb" U-ASP-Include-Url="_fpclass/fpdbform.inc"
file="_fpclass/fpdbform.inc"--><!--webbot bot="SaveDatabase" endspan
i-checksum="40548" -->
Respuesta Responder a este mensaje
#4 Benjamin Moreno
23/01/2008 - 01:03 | Informe spam
"¥-- Lombar --¥" wrote:

Ese creo, que a título personal, es el error que cometes: el utilizar el
código del FP.
FrontPage es muy bueno para ciertas cosas, pero para esto lo único que
incluye es código superfluo y al final surgen este tipo de problemas.
El ASP es muy sencillo de utilizar a poco que te metas con el mismo y te
dará muchas satisfacciones. Y lo que estás haciendo con FrontPage lo haces
con menos de la mita de de código, siendo mas sencillo depurarlo. Solo ver
lo que has colocado dá dolor de cabeza. Con sólo que el servidor no tenga
instaladas las extensiones de FrontPage no te funcionará.



Mi estimado ¥-- Lombar --¥ muchas gracias por responder.

Tal vez tengas razón, pero no tengo ahora el tiempo de iniciarme en el
código ASP para sacar adelante este proyecto. Hay forma de que lo pueda
resolver de alguna otra forma?

Me quedan dos días para tenerlo funcionando.

El año pasado implementamos una evaluación de la misma forma y todo funcionó
bien desde un principio. Por lo mismo, es que ahora estoy confundido del por
qué no se guardan los registros si la conexión a la base de datos es correcta.

Alguna otra sugerencia aparte de la de sumergirme en el código ASP?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida