Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
limpiar tabla de access

hola tengo una base de datos en access con datos de alumnos de una escuela dentro de ella pero al finalizar el semestre se debe limpiar toda la tabla pues esa información ya no se usara mis dudas son estas como limpio la base de datos desde delphi y con que componentes es mas eficaz hacerlo?
Responder Con Cita
  #2  
Antiguo 04-12-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
1- Tabla1.Delete;
2- Componentes ADO.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 04-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
hola gracias por contestarme pero la sentencia Tabla1.delete que hace? y en que componente ado deberia ponerlo?
Responder Con Cita
  #4  
Antiguo 04-12-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para conectarte con ado lo haces con el componente adoconnection.
Para borrar la tabla lo puedes hacer con un adotable o si quieres hacerlo por sql tendra que ser con un adoquery.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 04-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
y la sentencia Tabla1.delete donde la aplicaría?
Responder Con Cita
  #6  
Antiguo 04-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Puede ser en el evento OnClick de un TButton por ejemplo, pero la sintáxis varía de acuerdo a los componente que uses.

TTable:
Código Delphi [-]
procedure TForm1.btnVaciarTablaClick(Sender: TObject);
begin
  // Asegurarse que la tabla esté en modo exclusivo
  Tabla1.Close;
  Tabla1.Exclusive:= True;
  Tabla1.Open;
  // Vaciar 
  Table1.EmptyTable
end;

TADOTable:
Código Delphi [-]
procedure TForm1.btnVaciarTablaClick(Sender: TObject);
begin
  ADOTable1.DeleteRecords(arAll);
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 04-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
hola gracias por responder use el código del ADOTable pero no funciona al darle clic al botón me aparece este error:
proyect1.exe raised exeption classEOleExepction whit message 'la operacion no esta permitida en este contexto' process stopped
como lo corrijo?
Responder Con Cita
  #8  
Antiguo 04-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ozmar.

Me olvidé que debías usar con anterioridad:
Código Delphi [-]
  CursorLocation:= clUseServer;
Pero de todos modos algunos de los providers no soportan bién la operación de borrado con ADOTable . Creo que sería mucho mejor que usaras un TADOQuery para hacer esa tarea:

Código Delphi [-]
procedure TForm1.btnVaciarTablaClick(Sender: TObject);
begin
  with TADOQuery.Create(nil) do
  try
    Connection:= ADOConnection1;
    SQL.Text:= 'DELETE FROM TU_TABLA';
    ExecSQL;
    Close;
  finally
    Free;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-12-2011 a las 20:33:26.
Responder Con Cita
  #9  
Antiguo 04-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
hola use ecfisa use el código que me recomendaste y me funciono muy bien pero al cerrar la aplicación me aparecen 2 cuadros con estos mensajes:

Exception EAccessViolation in module project1.exe at 00098FB4. Access violation at address 00498FB4 in module 'project1.exe'. read of
address 00000008.

project1.exe raised exception class EAccessViolation with message 'Access violation at address 004FA140 in module 'project1.exe'.read 00000004'. Process stoped.
use step or Run continue

por que salen esos mensajes y como los evito?
Responder Con Cita
  #10  
Antiguo 04-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ozmar.

Los errores EAccessViolation se producen generalmente cuando intentas usar o liberar un recurso que ya no existe (ya sea que todavía no fué creado o ya fué liberado). No es posible darte una respuesta concreta sin ver el código.
Una forma de ubicar el error es poner un break antes de la salida de la aplicación (por lo tanto antes de la manifestación del mismo) y luego con F7/F8 hacer un seguimiento para ver donde se provoca.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 05-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
hola gracias por tomarse el tiempo de ayudarme pero este error tiene algo curioso solo aparecen los cuadros al presionar el boton con el codigo pero ahora me aparece un nuevo error en un cuadro dice esto:

project1.exe raised exception class EInvalidCast with message 'Invalid class typecast'. Process stopped.

y este mensaje me aparece al cerrar la aplicacion pero cuando presiono dos veces el boton se interrumpe el programa y aparece ese mensaje como lo corrijo?
disculpen pero como puedo poner el texto de los codigos en un recuadro como lo hacen ustedes?
Responder Con Cita
  #12  
Antiguo 05-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
bueno disculpen mi falta de cuadro de código pero es que no veo el icono que le pone el cuadro creo que es el mismo icono de la pagina no? pero aquí esta mi código:
Código Delphi [-]
procedure TForm6.Button1Click(Sender: TObject);
begin
IF APPLICATION.MESSAGEBOX('¿REALMENTE QUIERES BORRARTODOS LOS DATOS DE LA BASE DE DATOS? ESTA ACCION NO SE PODRA REVERTIR','Advertencia del sistema',1)=IDOK THEN
BEGIN
  with ADOQuery1.Create(nil) do
  try
    Connection:= ADOConnection1;
    SQL.Text:= 'DELETE FROM Tabla1';
    ExecSQL;
    Close;
  finally
    Free;
  end;
  SHOWMESSAGE('LA TABLA SE HA ELIMINADO POR COMPLETO');
  END;
end;

Última edición por ecfisa fecha: 05-12-2011 a las 01:34:52. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #13  
Antiguo 05-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ozmar.

No veo posibilidad de acces violation en ese código, pero por las dudas vamos a asegurarnos.

Poné un componente TADOQuery (ADOQuery1) y desde el Object Inspector asignale a su propiedad Connection el ADOConnection correspondiente, luego en reemplazo, utilizá este código:
Código Delphi [-]
procedure TForm6.Button1Click(Sender: TObject);
begin
  if Application.MessageBox('¿REALMENTE QUIERES BORRAR TODOS LOS DATOS DE LA BASE DE DATOS? '+ 
      'ESTA ACCION NO SE PODRA REVERTIR','Advertencia del sistema',1) = IDOK then
    with TADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Text:= 'DELETE FROM TABLA1';
      ExecSQL
    end
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #14  
Antiguo 05-12-2011
ozmar_11 ozmar_11 is offline
Miembro
NULL
 
Registrado: dic 2011
Posts: 30
Poder: 0
ozmar_11 Va por buen camino
hola gracias por ayudarme el problema se resolvio usando ese ultimo codigo gracias por tomarse el tiempo de ayudarme
Responder Con Cita
  #15  
Antiguo 05-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
De nada ozmar, me alegro que lo hayas solucionado.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
limpiar tabla y primary key a 0 JXJ Firebird e Interbase 1 20-05-2010 16:17:32
Limpiar tabla MAXIUM Firebird e Interbase 2 08-01-2008 21:41:31
Crear tabla Access a partir de tabla FoxPro Tecnic2 Conexión con bases de datos 6 01-09-2004 13:37:43
Limpiar una tabla bustio SQL 1 11-01-2004 13:22:09
Limpiar una tabla bustio Conexión con bases de datos 1 11-01-2004 13:13:11


La franja horaria es GMT +2. Ahora son las 22:10:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi