Foros del Web » Programando para Internet » ASP Clásico »

Problema on borrar registros

Estas en el tema de Problema on borrar registros en el foro de ASP Clásico en Foros del Web. El siguiente sript es para borrar registro de la base de datos, pero no me borra los registros. aqui dejo el codigo por si alguien ...
  #1 (permalink)  
Antiguo 14/06/2004, 13:28
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 6 meses
Puntos: 8
Problema on borrar registros

El siguiente sript es para borrar registro de la base de datos, pero no me borra los registros.

aqui dejo el codigo por si alguien e ayuda

Borrar.asp
Cita:
<html>
<head>
<title>borrar</title>
</head>
<body>
<H1>Ejemplo de uso de bases de datos con ASP y ADO</H1>

<%
' Nuestras tres variables para jugar con la bd
Dim oConn, rs, sSQL


'Creación del objeto que realiza la conexión a la base de datos
Set oConn = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")


oConn.ConnectionString = "DSN=prueba"

oConn.Open "driver={SQL Server}; server=AGUZMAN; uid=aguzman; pwd=zsamer; database=prueba"


sSQL = "SELECT * FROM cliente"
Set RS = oConn.Execute(sSQL)

%>
<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR><TD>&nbsp;userid</TD> <TD>&nbsp;nombre&nbsp;</TD> <TD>Borrar</TD></TR>
<%

while (not RS.Eof)
Response.Write("<tr><td>&nbsp;" & RS("userid") & "</td><td>&nbsp;" & RS("nombre") & "&nbsp;</td><td><a href=""borra.asp?id=" & RS("nombre") &""">borrar</a></td></tr>")
RS.MoveNext
wend

oConn.Close
set RS = nothing
set oConn = nothing

%>
</table>
</body>
</html>

Borra.asp
Cita:
<%



' Nuestras tres variables para jugar con la bd
Dim oConn, rs, sSQL, nombre


nombre=Request.form("nombre")


' Nuestras tres variables para jugar con la bd



'Creación del objeto que realiza la conexión a la base de datos
Set oConn = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")



oConn.ConnectionString = "DSN=prueba"

oConn.Open "driver={SQL Server}; server=AGUZMAN; uid=aguzman; pwd=zsamer; database=prueba"


sSQL="Delete From Cliente Where nombre='" & nombre & "'"

oConn.Execute(sSQL)

oConn.Close
set oConn = nothing
Response.Redirect("borrar.asp")


%>

salu2

Última edición por zsamer; 14/06/2004 a las 13:29
  #2 (permalink)  
Antiguo 14/06/2004, 13:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Y si nos ofrecés el mensaje de error que da el script?
  #3 (permalink)  
Antiguo 14/06/2004, 13:43
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 20 años, 8 meses
Puntos: 0
dale response.write al sSQL donde tienes la query del DELETE, y revisa que la variable nombre traiga la información.
En tal caso, ejecuta la query en el Query Analizer y ve si borra el registro.
  #4 (permalink)  
Antiguo 14/06/2004, 14:37
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 6 meses
Puntos: 8
Cita:
Iniciado por dazuaga
Y si nos ofrecés el mensaje de error que da el script?
no da ningun mensaje de error solo no borra el registro
  #5 (permalink)  
Antiguo 14/06/2004, 15:05
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Ya veo... Tenés 2 errores (por lo menos 2 que veo con una mirada rápida)

Fijate que en el archivo "Borrar.asp" generás el enlace para eliminar el registro de esta manera:

Código:
Response.Write("...<a href=""borra.asp?id=" & RS("nombre") &""">borrar</a>...")
O sea, pasás el valor del nombre a borrar dentro del parámetro llamado id

Luego, en la página "borra.asp", recogés mediante Request.FORM (primer error, debería ser Request.QueryString) el parámetro nombre en vez del parámetro id (segundo error)

Cambiá en tu archivo borra.asp la siguiente línea:

Código:
nombre=Request.form("nombre")
por esta:

Código:
nombre=Request.QueryString("id")

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:22.