Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Tienes un query, el cual carga un dbgrid, apretando un boton quieres borrar el dato elegido.
Bueno el query genera una informacion y contiene unos campos en el, va, con otro query se elimina el dato que se quiere, aqui un ejemplo:
Código Delphi [-]
begin
      DataModule1.AC1.BeginTrans;
      try
         Query.SQL.Text := 'Delete * from TUTABLA where TUCAMPO = '+TUTABLATUCAMPOTuDato.AsString;
         Query.ExecSQL;
         DataModule1.AC1.CommitTrans;
      except
         on E:Exception do
         begin
            DataModule1.AC1.RollbackTrans;
            MessageDlg('Se ha producido un error.',mtError,[mbok],9);
         end;
      end;
Aqui como veras se hace la conexion directa al modulo de datos y al conector, se inicializa, se ejecuta, de lo contrario, envia un mensaje.
Saludos
Responder Con Cita
  #2  
Antiguo 28-04-2007
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Poder: 18
mjjj Va por buen camino
ufffff... perdon la ignorancia... que es un datamodule, trata de explicarme con manzanas lo que hace cada linea del codigo asi yo puedo adaptarlo a mi programa.... se que es mucho pedir, pero me harias un gran favor

tengo que agregar otro query a mi form... en ese agrego las lineas SQL... el otro lo dejo tal cual??

ayuda please

gracias
Responder Con Cita
  #3  
Antiguo 28-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola mjjj
Me parece que como las manzanas estas un poco verde en esto.
Bueno eso no es un pecado, seria muy bueno que pusieras una copia del codigo que estas haciendo, asi veriamos como va.
Usa las etiquetas del club se vera mejor.
Saludos
Responder Con Cita
  #4  
Antiguo 28-04-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.561
Poder: 25
egostar Va camino a la fama
Hasta donde se los Queries son objetos de solo lectura, asi que para poder borrar un registro del Query, debes usar el objeto UpdateSQL para que se encargue de realizar el proceso de borrado.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #5  
Antiguo 28-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Egostar
Ahora si que me dejaste, que, como, cuando, donde?
Saludos
Responder Con Cita
  #6  
Antiguo 28-04-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
egostar tiene razon, aunque he visto una propiedad llamada Requestlive (algo asi) para modificar, eliminar,..y todo lo demas.

Caral, seguro el amigo mjjj esta realizando una consulta "select", solo para ver registros, entonces trata de usar el método Delete. El Query arrojara un error porque este es solo de lectura y no de insercion como un table. Con un UpdateSql relacionado o vinculado con el Query se podria solucionar el problema, ya que UpdateSql contendria la sentencia necesaria para el borrado, en este caso "Delete...".

El codigo que expones mas arrib (caral) funciona bien, pero el Query nunca te arrojaria registros para visualizar, sino para ejecutar.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 28-04-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
De plano coincido tanto con el maestro Egostar como con tigo vtdeleon, pero es muy dificil evacuar una duda sin el criterio, mas o menos completo, si la duda es:
Cita:
selecciono el registro de un dbgrid
se supone que hay algun query o tabla involucrado en el asunto e independiente de:
Cita:
presiono un boton que tiene el siguiente codigo.... query1.delete
Para mi el asunto radicaba en el supuesto (tambien para mi) segundo query, que por supuesto si contiene una sentencia select, no caminaria nunca el delete, estoy de acuerdo en que no debuelve nada por el Query.ExecSQL;, pero solucionado facilmente con un simple Query.open;.
Es muy interesante que de un problema tan sencillo se logre un aprendizaje tan bueno, me alegro mucho que me indiquen mis errores, seguro que asi algun dia sere un maestro como vosotros, bueno, casi.
Saludos
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
error al borrar un registro noshy SQL 1 12-05-2006 20:13:07
Borrar lineas detalle al borrar registro maestro akinom38 Conexión con bases de datos 3 11-01-2006 10:38:07
borrar registro desde un query fabian20s Conexión con bases de datos 2 25-03-2005 13:48:50
Borrar e Insertar un registro de una tabla con Query Draco Conexión con bases de datos 4 06-05-2004 17:27:37
Borrar registro .mdb con ADO Masu Conexión con bases de datos 3 23-02-2004 19:16:10


La franja horaria es GMT +2. Ahora son las 19:54:44.


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