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

error al borrar más de un registro al mismo tiempo

Estas en el tema de error al borrar más de un registro al mismo tiempo en el foro de ASP Clásico en Foros del Web. Tengo este código, que me recoge los id desde un formulario, lo datos que me recogen son así: DELETE FROM Clientes WHERE ID IN ('17, ...
  #1 (permalink)  
Antiguo 19/03/2003, 04:37
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 23 años, 3 meses
Puntos: 2
error al borrar más de un registro al mismo tiempo

Tengo este código, que me recoge los id desde un formulario, lo datos que me recogen son así:

DELETE FROM Clientes WHERE ID IN ('17, 18, 19, 20')

el código ASP es este:

strAccessDB = "llamadas"
dsn = "DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=pepeluis; DBQ=" & Server.MapPath(strAccessDB)

Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open dsn

SQL = "DELETE FROM Clientes WHERE ID IN ('" & request.form("borrar") & "')"
response.write SQL
Set RS = Conn.Execute(SQL)

Pero me sale este error :

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.

/Nuevos PROYECTOS/tiempo-clientes/borrarmensajes.asp, line 15


La línea 15 es esta:

Set RS = Conn.Execute(SQL)

¿Alguien sabe porque puede fallar esto?

Un saludo
  #2 (permalink)  
Antiguo 19/03/2003, 05:10
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 22 años, 2 meses
Puntos: 2
Tienes un Error de Tipos en tu sentencia SQL, los ID son de tipo numerico y los estás pasando entre comillas como si fueran strings.

Quitale las comillas a tu SQL:

DELETE FROM Clientes WHERE ID IN (17, 18, 19, 20)

Un saludo. Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #3 (permalink)  
Antiguo 19/03/2003, 05:13
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 22 años, 2 meses
Puntos: 2
En tu codigo sería quitarle las comillas simples a esta linea y dejarla así:

SQL = "DELETE FROM Clientes WHERE ID IN (" & request.form("borrar") & ")"
__________________
¿Por qué Uri Geller doblaba cucharas?
  #4 (permalink)  
Antiguo 19/03/2003, 05:27
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 23 años, 3 meses
Puntos: 2
Gracias txarly, la verdad es que lo había probado de las dos formas y no me funcionaba, parece ser que ha sido problema del IIS, que se había quedado atascado, a bastado con reiniciar, lo dicho gracias.

Un saludo
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:26.