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

no se borran los registros

Estas en el tema de no se borran los registros en el foro de ASP Clásico en Foros del Web. hola, tengo un problema tengo una pagina que tiene varios registros los registros tienen un checkbox con el nombre eliminar y con el valor del ...
  #1 (permalink)  
Antiguo 20/05/2008, 10:42
Avatar de palomahayes  
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 17 años, 2 meses
Puntos: 0
no se borran los registros

hola, tengo un problema
tengo una pagina que tiene varios registros
los registros tienen un checkbox con el nombre eliminar y con el valor del id

el id que tengo es varchar de 10

cuando quiero borrar un registro, genial si se puede
pero quiero borrar mas de 2 y ahi es donde no los borra

paso el id del registro que va a eliminar, hago el query

Código:
	Dim Id_Perfil
	Id_Perfil=Request("eliminar")
	if Id_Perfil = "" then
		Response.Write("vacio")
			
		else
		Response.Write("valor del perfil  ")
		Response.Write(id_perfil)
		Set Conn = Server.CreateObject("ADODB.Connection")
		Conn.Open "IntraDEOP","IntraDEO", "deop"
		srtSQL = "delete from IO_PAccesos_Perfiles where Id_Perfil in('"& Request("eliminar") & "')" 
		Conn.Execute(srtSQL)
		response.Write(srtSQL)
	end if
imprimo el query

delete from IO_PAccesos_Perfiles where Id_Perfil in('paloma, yesy')


pero no me borra nada!!

que puede estar pasando, es porke el id es varchar??!!
no lo puedo cambiar, porque asi debe de ser...
si no desde hace mucho lo habria cambiado!!


HELP
  #2 (permalink)  
Antiguo 20/05/2008, 11:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: no se borran los registros

Bueno, haz imprimido el query .......... excelente, primer paso realizado
Te detienes y lo observas: delete from IO_PAccesos_Perfiles where Id_Perfil in('paloma, yesy')

lo vuelves a observar

Lo copias y pegas en tu analizar de consultas y nada, no marca error pero no borra nada

Lo vuelves a observar

Voala!

Te das cuenta que cada uno de los elementos del IN debe estar encerrado entre apóstrofes

No es
delete from IO_PAccesos_Perfiles where Id_Perfil in('paloma, yesy')

Sino
delete from IO_PAccesos_Perfiles where Id_Perfil in('paloma', 'yesy')

La solución entonces, es mandar los apóstrofes desde el VALUE del checkbox, y no concatenarlos en la instrucción SQL

Saludos!
  #3 (permalink)  
Antiguo 20/05/2008, 11:31
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Cita:
Iniciado por Myakire Ver Mensaje
La solución entonces, es mandar los apóstrofes desde el VALUE del checkbox, y no concatenarlos en la instrucción SQL
Buenas, otra posible solución es hacer un replace para colocar los apóstrofes:

Código:
srtSQL = "delete from IO_PAccesos_Perfiles where Id_Perfil in('"& replace(Request("eliminar"), ", ", "', '" & "')"
Un saludo
  #4 (permalink)  
Antiguo 20/05/2008, 12:10
Avatar de palomahayes  
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 17 años, 2 meses
Puntos: 0
De acuerdo Respuesta: no se borran los registros

Código:
srtSQL = "Select * from IO_PAccesos_Perfiles where Id_Perfil in('"& replace(Id_Perfil,",","','") & "')"
asi quedo... pero solo borra uno :(

como le hago para que no queden concatenados?
y tome cada uno?


delete from IO_PAccesos_Perfiles where Id_Perfil in('diana',' liz',' pablo',' paloma',' yesy')

pero nomas me borro el de diana
  #5 (permalink)  
Antiguo 20/05/2008, 13:52
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: no se borran los registros

En el MP que me mandaste mencionas un error, pero el código que A_Z te pone, no debería fallarte (salvo, quizá, que te pone un espacio en blanco entre el primer apóstrofe y la primer letra), pero mira, este código te muestra las dos formas, solo cópialo y ejecútalo:
Código:
<%
Id_Perfil = Trim(Request("eliminar"))
%>
<form>
<input name="eliminar" type="checkbox" value="diana" >diana
<input name="eliminar" type="checkbox" value="liz" >liz
<input name="eliminar" type="checkbox" value="pablo">pablo
<input name="eliminar" type="checkbox" value="paloma" >paloma
<input name="eliminar" type="checkbox" value="yesy" >yesy
<input type="submit" name="forma1" value="probar forma 1">
</form>

<form>
<input name="eliminar" type="checkbox" value="'diana'" >diana
<input name="eliminar" type="checkbox" value="'liz'" >liz
<input name="eliminar" type="checkbox" value="'pablo'">pablo
<input name="eliminar" type="checkbox" value="'paloma'" >paloma
<input name="eliminar" type="checkbox" value="'yesy'" >yesy
<input type="submit" name="forma2" value="probar forma 2">
</form>

<br>
<%
if Request("forma1")<>"" Then
   srtSQL = "Select * from IO_PAccesos_Perfiles where Id_Perfil in('"& replace(Id_Perfil,",","','") & "')"
else
   srtSQL = "Select * from IO_PAccesos_Perfiles where Id_Perfil in("& Id_Perfil & ")"
end if

Response.write srtSQL
%>
  #6 (permalink)  
Antiguo 20/05/2008, 15:24
Avatar de palomahayes  
Fecha de Ingreso: febrero-2008
Mensajes: 63
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: no se borran los registros

aaaaaaaaaah
gracias!!
ya funcionoooooooooooooooooooooo!!!

jajajajaja me muero de la emocion, gracias!!
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 11:42.