 |
Foro de Posicionamiento y Buscadores Aprendiendo a Promocionar Páginas Web. Xeoweb :: Sindicar
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
John125 Me gusta MSN!

Registrado: 02 May 2007 Mensajes: 422 Ubicación: Madrid
|
Publicado: Vie Feb 12, 2010 12:11 am Asunto: Asp modulo para eliminar registros de una tabla |
|
|
Buenas noches, a ver si me podeis echar una mano.Tengo un modulo para eliminar registros de una tabla, pero no terminar de funcionar correctamente.
En esta url vemos la visualización de la tabla:
http://www.jmcweb.org/public/tablondeanunciostrabajo/eliminar.asp
El código es el siguiente:
<html>
<body>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:\inetpub\webs\jmcweb\root\tablondeanunciostraba jo\foro.mdb"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM discusion",conn
%>
<h2>List Database</h2>
<table border="1" width="100%">
<tr>
<%
for each x in rs.Fields
response.write("<th>" & ucase(x.name) & "</th>")
next
%>
</tr>
<% do until rs.EOF %>
<tr>
<form method="post" action="demo_delete.asp">
<%
for each x in rs.Fields
if x.name="IdMensaje" then%>
<td>
<input type="submit" name="IdMensaje" value="<%=x.value%>">
</td>
<%else%>
<td><%Response.Write(x.value)%></td>
<%end if
next
%>
</form>
<%rs.MoveNext%>
</tr>
<%
loop
conn.close
%>
</table>
</body>
</html>
El caso es que en la columna de la izquierda donde aparecen los botones del mensaje id al hacer click deberia aparecer un nuevo fichero para eliminar el registro correspondiente a traves del siguiente archivo:
<html>
<body>
<h2>Delete Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:\inetpub\webs\jmcweb\root\tablondeanunciostraba jo\foro.mdb"
cid=Request.Form("IdMensaje")
if Request.form("Jmcweb")="" then
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM discusion WHERE IdMensaje='" & cid & "'",conn
%>
<form method="post" action="demo_delete.asp">
<table>
<%for each x in rs.Fields%>
<tr>
<td><%=x.name%></td>
<td><input name="<%=x.name%>" value="<%=x.value%>"></td>
<%next%>
</tr>
</table>
<br /><br />
<input type="submit" value="Delete record">
</form>
<%
else
sql="DELETE FROM discusion"
sql=sql & " WHERE IdMensaje='" & cid & "'"
on error resume next
conn.Execute sql
if err<>0 then
response.write("No update permissions!")
else
response.write("Record " & cid & " was deleted!")
end if
end if
conn.close
%>
</body>
</html>
Aparentemente las rutas son correctas, pero al hacer click en el id del mensaje del primer fichero no funciona. _________________ Viajes y fotos
Servicios gratis |
|
| Volver arriba |
|
 |
3pies Soy de Yahoo!

Registrado: 19 Sep 2007 Mensajes: 933 Ubicación: Barcelona
|
Publicado: Vie Feb 12, 2010 8:35 am Asunto: |
|
|
Para ver la descripción del error, desde Internet Explorer: Herramientas --> Opciones de internet -->Pestaña Opciones avanzadas --> En el apartado Examinar, quítale la muesca a "Mostrar mensajes de error HTTP descriptivos". De esa forma cuando tengas un error en asp, te dirá donde falla (hay que quitarle la muesca, aunque parezca que al leerlo nos esté diciendo lo contrario).
Cuando lo hagas, verás que te dice que falla la línea 14 del archivo demo_delete.asp.
En esa línea tienes esto:
| Cita: | | rs.open "SELECT * FROM discusion WHERE IdMensaje='" & cid & "'",conn |
Creo que el problema te viene porque cid es un número (es la id del mensaje: 1, 2, 3, n), y va sin entrecomillar (entrecomillado solo el texto). Prueba cambiando esa línea por estas dos que son más claras y descriptivas:
| Cita: | SQL = "SELECT * FROM discusion WHERE IdMensaje=" & cid
rs.open SQL, conn |
Saludos _________________ Comidas, recetas, recetas de cocina, trucos de cocina, y consejos de cocina |
|
| Volver arriba |
|
 |
John125 Me gusta MSN!

Registrado: 02 May 2007 Mensajes: 422 Ubicación: Madrid
|
Publicado: Vie Feb 12, 2010 9:14 am Asunto: |
|
|
Gracias por tu apreciación. He modificado el código y efectivamente ahora al pulsar el boton aparece el formulario de eliminación de registro. No obstante ahora al pulsar el boton no actua _________________ Viajes y fotos
Servicios gratis |
|
| Volver arriba |
|
 |
3pies Soy de Yahoo!

Registrado: 19 Sep 2007 Mensajes: 933 Ubicación: Barcelona
|
Publicado: Vie Feb 12, 2010 10:38 am Asunto: |
|
|
Vale, pero eso ya es otra cosa. Ahora te está mostrando lo que tenía que mostrar en un principio. Eso que ves es algo así, como un formulario de confirmación para avisarte de lo que vas a borrar.
El formulario ese, al pulsar el botón, llama a la misma página donde estás "demo_delete.asp", así que se te vuelve a cargar lo mismo siempre, a la vista del código que pusiste antes (si acercas el puntero del mouse al bótón, verás que se "autollama" a esa misma página).
En el código de esa página, tienes esta línea:
| Código: | | <input type="submit" value="Delete record"> |
Sustitúyela por esta otra:
| Código: | | <input type="submit" name="Jmcweb" value="Delete record" |
Edito, porque hay más cosas. Estas líneas:
| Código: | sql="DELETE FROM discusion"
sql=sql & " WHERE IdMensaje='" & cid & "'" |
cámbialas, y pon solo esta::
| Código: | | sql="DELETE FROM discusion WHERE IdMensaje=" & cid |
Luego al final tienes esto:
| Código: | end if
end if
conn.close |
Yo lo cambiaría y pondría esto:
| Código: | end if
response.write "<br><br><a href=""eliminar.asp"">Volver a la tabla para eliminar más registros</a>"
end if
conn.close |
Antes de hacer lo que te propongo, asegúrate de eliminar el registro correcto, porque sino te lo cargarás y no podrás recuperarlo (a no ser que tengas una copia de la base de datos access llamada foro.mdb).
Saludos _________________ Comidas, recetas, recetas de cocina, trucos de cocina, y consejos de cocina |
|
| Volver arriba |
|
 |
John125 Me gusta MSN!

Registrado: 02 May 2007 Mensajes: 422 Ubicación: Madrid
|
|
| Volver arriba |
|
 |
|
| Respuesta Rápida y Acciones |
| |
|
|
Página 1 de 1
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
|
|
Logo diseñado por iLevante
Powered by phpBB © 2001, 2009 phpBB Group
|