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 05-02-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
Consulta con SQL

Hola, me gustaría saber con que componentes ADO y si es posible me pusierais un ejemplo de como poder seleccionar filas de una tabla con una sentencia sql y luego borrar las seleccionadas. Creo q es con Query pero no se como se hace. Gracias.
Responder Con Cita
  #2  
Antiguo 05-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Código:
Select *
  from tabla
 where cliente = 15;

Delete [from] tabla
 where cliente = 15;
El from depende del motor que uses...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 05-02-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
No me he explicado bien,la consulta la sé hacer, el problema es que no se aplicar la consulta al adoquery , y despues no sé como utilizar el adotable para borrar la selección que he hecho.
Responder Con Cita
  #4  
Antiguo 05-02-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Pues no trabajo con ado... pero siguiendo la práctica habitual de otros componentes de queries.. me imagino que debe tener una propiedad SQL, donde pones la consulta, luego un método open (esto ya no son suposiciones, pues debe heredar de TDataSet) donde la abris (para verla en un Grid o cualquier otro proceso).

Para borrar toda la selección, yo usaria otro AdoQuery con la sentencia delete y el mismo predicado que el select, por desempeño.. de cualquier forma siempre podes hacer un ciclo:

Código:
AdoQ.First;
while not AdoQ.EOF do
  AdoQ.Delete;
eso si.. si tenes 1,000,000 de registros, esto generará 1,000,000 de llamadas a la base de datos, cada una con una sentencia Delete, saturando tu red y haciendo trabajar sin necesidad al pharser (salvo que sea Oracle). La única sentencia debiera ser 1,000 veces mas rápida en este caso (seguro que en cualquier motor!).

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 05-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por davidgaldo
No me he explicado bien,la consulta la sé hacer, el problema es que no se aplicar la consulta al adoquery , y despues no sé como utilizar el adotable para borrar la selección que he hecho.
Y porque no borras directamente la selección realizada en la Query???

Código:
adoquery.SQL.Clear;
adoquery.SQL.Add('delete from tabla where condiciones');
adoquery.ExecSQL;
PD: no he trabajado con ADO, pero me imagino que funcionará igual que cualquier otra Query
Responder Con Cita
  #6  
Antiguo 05-02-2004
davidgaldo davidgaldo is offline
Miembro
 
Registrado: nov 2003
Posts: 220
Poder: 21
davidgaldo Va por buen camino
Gracias a todos, amigos.
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


La franja horaria es GMT +2. Ahora son las 16:34:31.


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