Foro de Xeoweb Foro de Posicionamiento y Buscadores
Aprendiendo a Promocionar Páginas Web.
Xeoweb :: Sindicar
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   LoginLogin 
Asp modulo para eliminar registros de una tabla

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Lenguajes de Programación Web
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
John125
Me gusta MSN!


Registrado: 02 May 2007
Mensajes: 422
Ubicación: Madrid

MensajePublicado: Vie Feb 12, 2010 12:11 am    Asunto: Asp modulo para eliminar registros de una tabla Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
3pies
Soy de Yahoo!


Registrado: 19 Sep 2007
Mensajes: 933
Ubicación: Barcelona

MensajePublicado: Vie Feb 12, 2010 8:35 am    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
John125
Me gusta MSN!


Registrado: 02 May 2007
Mensajes: 422
Ubicación: Madrid

MensajePublicado: Vie Feb 12, 2010 9:14 am    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
3pies
Soy de Yahoo!


Registrado: 19 Sep 2007
Mensajes: 933
Ubicación: Barcelona

MensajePublicado: Vie Feb 12, 2010 10:38 am    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
John125
Me gusta MSN!


Registrado: 02 May 2007
Mensajes: 422
Ubicación: Madrid

MensajePublicado: Vie Feb 12, 2010 12:37 pm    Asunto: Responder citando

Ahora si Very Happy
Gracias. Te debo una
_________________
Viajes y fotos
Servicios gratis
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Responder al tema    Foros de discusión -> Lenguajes de Programación Web Todas las horas son GMT
Respuesta Rápida y Acciones
 

 

Página 1 de 1


Cambiar a:  
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