por ejemplo: Ver el foro y los mensajes los veo. Pero contestar a un mensaje o introducir uno me casca. Ahi va el código de guardar.asp escribe una respuesta o un nuevo mensaje:
<%
IdMensaje = Request.QueryString("IdMEnsaje")
nombre = Trim(Request.Form("nombre"))
email = Trim(Request.Form("email"))
titulo = Trim(Request.Form("titulo"))
mensaje = Request.Form("mensaje")
If nombre = "" OR email = "" OR mensaje = "" then
Response.Write "<BR><BR>Hay errores en el formulario o faltan datos."
Response.Write "<BR>Presionar Atras y completarlo correctamente"
ElseIf InStr(email, "@") = 0 OR InStr(email,".") = 0 OR Len(email) < 5 then
Response.Write "<BR><BR>Hay errores en el formulario o faltan datos."
Response.Write "<BR>Presionar Atras y completarlo correctamente"
Else
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("..\ingenieria.mdb")&";"
'Si es una pregunta nueva...
mensaje = Replace (mensaje, "'", "''")
If IdMensaje = "" then
oConn.Execute "INSERT INTO discusion (nombre, email, titulo, mensaje, fecha) VALUES ('"&nombre&"', '"&email&"', '"&titulo&"', '"&mensaje&"','"& Now()&"')"
'Si es una respuesta a una pregunta...
Else
oConn.Execute "INSERT INTO discusion (nombre, email, titulo, mensaje, fecha, IdCabeza) VALUES ('"&nombre&"', '"&email&"', '"&titulo&"', '"&mensaje&"','"& Now()&"', "&IdMensaje&")"
Set RS_Resp = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT respuestas FROM discusion WHERE IdMensaje="&IdMensaje&""
RS_Resp.Open sql, oConn, 2 ,2
oConn.Execute "UPDATE discusion SET Respuestas=("&RS_Resp("Respuestas")+1&") WHERE IdMensaje="&IdMensaje&" "
RS_Resp.Close
Set RS_Resp = Nothing
End If%>
<BR><BR><B>Gracias <%=nombre%>,<BR>
Fue enviado con éxito el mensaje <FONT COLOR="#B5BBCA"><%= titulo %></FONT> con el texto: </B><BR><BR>
<P><I><%=AcomodarTXT(mensaje)%></I></P><BR><BR>
<A HREF="foro.asp"><B><FONT FACE="Arial" SIZE="2">Volver al Foro de Solo ASP</FONT></B></A>
<%
oConn.Close
Set oConn = nothing
End If
Function AcomodarTXT(txt)
txt = Replace (txt, "<", "<")
txt = Replace (txt, ">", ">")
txt = Replace (txt, vbCrLf, "<BR>")
txt = Replace (txt, "''", "'")
acomodarTXT = txt
End function
%>
el error que me da es :
La operacion debe usar una consulta actualizable en la línea 27 o en la 24 osea cuando hace la insert o la update.
La base de datos esta en access y usuo una tabla llamada discusión y el único campo obligatorio es el idmensaje que es autonumerico.
Un saludo
