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

Borrar todos los registros de una tabla

Estas en el tema de Borrar todos los registros de una tabla en el foro de ASP Clásico en Foros del Web. Hola otra vez... quiero eliminar todos los regitros de una tabla y me sale error... aqui va lo que he hecho a ver si alguien ...
  #1 (permalink)  
Antiguo 07/04/2007, 05:59
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 17 años, 5 meses
Puntos: 0
Borrar todos los registros de una tabla

Hola otra vez... quiero eliminar todos los regitros de una tabla y me sale error... aqui va lo que he hecho a ver si alguien me hace el favor de ayudarme , gracias.

Con esto no es suficiente? o hay que hacer alguna otra cosa?

<%
Set con = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.RecordSet")
rs.open "mi_servidor.base_datos"
sql="delete * from mi_tabla"
con.execute sql
%>
<%
Rs.Close
Con.Close
Set Rs = Nothing
Set con = Nothing
%>
  #2 (permalink)  
Antiguo 07/04/2007, 13:01
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrar todos los registros de una tabla

a lo mejor te serviria este POST, donde tammander(), resolvio algo similar.

substrayendo algo del post, hizo lo siguiente
Código:
<%

Dim cnn, rcs, SQL

set cnn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")cnn.Open "driver={SQL Server};server=EFUENTES; database=Osiris; uid=sa;pwd="

' Borrado
cnn.execute("DELETE FROM usuarios WHERE rut = " & request.QueryString("borrar")
solo que en ese post, ellos lo hacen desde un formulario para eliminar uno por uno, aunque la forma en que lo hacen pudiera darte la idea que ocupas.... de cualquier manera seria bueno que le dieras una miradita....

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 09/04/2007, 15:43
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrar todos los registros de una tabla

Cita:
Iniciado por Cameron_2006 Ver Mensaje
...
<%
Set con = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.RecordSet")
rs.open "mi_servidor.base_datos"
sql="delete * from mi_tabla"
con.execute sql
..
Rs.Close
Con.Close
Set Rs = Nothing
Set con = Nothing
%>
me puse a mirar... y hasta ahorita me di cuenta de ..., por que habres con el RECORDSET la conexion y eliminar con la CONNECTION sin asignarle una conexion... ironico verdad???

Cita:
Set con = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.RecordSet")

con.open "mi_servidor.base_datos"

sql="delete * from mi_tabla"
RS.execute sql
ahora la pregunta seria.... se correjira???

y por ultimo.... cualquier cosa podra y sera correjida por los chavales del foro

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #4 (permalink)  
Antiguo 10/04/2007, 01:50
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Borrar todos los registros de una tabla

Dentro de los comandos DML del SQL (SELECT, INSERT, UPDATE y DELETE) operan dos tipos de consultas:

- Consultas de Seleccion

Son los SELECT. Estos responden devolviendo un Recordset con los datos solicitados (a traves de las clausulas WHERE, FROM, HAVING, etc) Para poder atender dichos datos necesitas un objeto Recordset:

set rs = Server.CreateObject("ADODB.RecordSet")
set rs = conn.execute("SELECT * FROM tabla WHERE 1=1")

- Consultas de Accion


Estas "consultas" resuelven acciones destinadas a la BD que no requieren devoluciones de datos. Son las acciones insertar (INSERT), modificar (UPDATE) y borrar (DELETE). Para realizar dichas consultas no es necesario un objeto recordset si se hace a traves de SQL. Otra cosa es hacerlo a traves de Active Record (cargar los datos de la seleccion o tabla y modificarlo in situ con los metodos AddNew, Update del objeto Recordset)

conn.execute("UPDATE tabla SET campo=valor WHERE campoclave=valorclave")

Como puedes ver aqui no necesitas ningun recordset.


Espero haberte ayudado.


Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 10/04/2007 a las 02:02
  #5 (permalink)  
Antiguo 10/04/2007, 08:12
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrar todos los registros de una tabla

Una forma mas rápida de eliminar todos los registros de una tabla es usando el truncate.
Sintaxis:
TRUNCATE TABLA
adicional de ser más ràpida es más eficiente dado a que el comando DELETE elimina uno a uno los registros de la tabla mientras el comando TRUNCATE elimina todos a la vez.
  #6 (permalink)  
Antiguo 10/04/2007, 08:15
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrar todos los registros de una tabla

Con respecto al comando TRUNCATE que envié en un POST anterior, nunca lo he probado usando ACCESS sin embargo en SQL, MySQL, Sybase, Oracle y DB2 funcionan perfectamente.
  #7 (permalink)  
Antiguo 10/04/2007, 10:17
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Borrar todos los registros de una tabla

quiere decir que cameron_2006, tendria que hacer algo asi?

Set con = Server.CreateObject("ADODB.Connection")
con.open "mi_servidor.base_datos"
sql="truncate mi_tabla"
con.execute sql
Con.Close
Set con = Nothing
%>

asi de sencillo seria el borrado de la tabla completamente???, si es asi...que bien
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #8 (permalink)  
Antiguo 10/04/2007, 10:21
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrar todos los registros de una tabla

exacto, asi de sensillo serìa...
vale mencionar que el comando no tiene la clàusula WHERE...
  #9 (permalink)  
Antiguo 10/04/2007, 10:35
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
Re: Borrar todos los registros de una tabla

Cita:
sql="delete * from mi_tabla"
Una acotación: el asterisco sólo es interpretado en una sentencia delete por MSAccess. En las demás bases de datos, produciría un error... y es lógico: al hacer un DELETE estás eliminando un registro completo y, por tanto, es innecesario -y hasta ridículo- especificar que querés eliminar TODOS los campos del registro.
__________________
...___...
  #10 (permalink)  
Antiguo 10/04/2007, 11:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Borrar todos los registros de una tabla

Cita:
Iniciado por Al Zuwaga Ver Mensaje
Una acotación: el asterisco sólo es interpretado en una sentencia delete por MSAccess. En las demás bases de datos, produciría un error... y es lógico: al hacer un DELETE estás eliminando un registro completo y, por tanto, es innecesario -y hasta ridículo- especificar que querés eliminar TODOS los campos del registro.
Así es, también indicar que puedes o no, de hecho tiene más sentido no utilizar FROM

DELETE FROM tabla WHERE condiciones
DELETE tabla WHERE condiciones

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #11 (permalink)  
Antiguo 13/04/2007, 08:01
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Borrar todos los registros de una tabla

En el mensaje que mandé con la cláusula TRUNCATE cometí un pequeño error de sintaxis, el comando correcto es:

TRUNCATE TABLE nombre_tabla

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 16:20.