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 18-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
Thumbs up Eliminar de bd seleccionado de listview

amigos estoy tratando de eliminar de mi base de datos el item seleccionado de listview
estoy tratando asi y me salen errores, en san google no he encontrado nada
mi codigo
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
begin

Zquery1.sql.text := 'delete from datos values (:fecha, :area,:tipo, :detalle,:id)';
ZQuery1.Locate('fecha' , 'listview1.Selected.Caption', [loCaseInsensitive, loPartialKey] );
ZQuery1.Locate('area' , 'listview1.Selected.SubItems[1]', [loCaseInsensitive, loPartialKey] );
ZQuery1.Locate('tipo' , 'listview1.Selected.SubItems[1]', [loCaseInsensitive, loPartialKey] );
ZQuery1.Locate('detalle' , 'listview1.Selected.SubItems[1]', [loCaseInsensitive, loPartialKey] );
ZQuery1.ExecSQL;
zQuery1.SQL.Clear;
  end;

saludos!
Responder Con Cita
  #2  
Antiguo 18-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Esa no es la sintaxis para "delete":

Código SQL [-]
DELETE FROM Table1
WHERE Some_Column = Some_Value
Responder Con Cita
  #3  
Antiguo 18-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
tienes toda la razon funciona, como recupero el valor de la columna? lo he hecho asi y de otras formas pero no me funciona
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);
var
valor1: string;
begin
valor1:=listview1.Selected.SubItems[1] ;
Zquery1.sql.text := 'delete from Datos WHERE area = "valor1" ';

ZQuery1.ExecSQL;
zQuery1.SQL.Clear;
  end;
Responder Con Cita
  #4  
Antiguo 18-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No recuerdo de memoria exactamente el método, haz una búsqueda por "listview", encontrarás montones de temas similares y podrás resolverlo.
Responder Con Cita
  #5  
Antiguo 19-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
ahora lo realizo asi
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);

begin
Zquery1.sql.text := 'delete from Datos WHERE tipo = :tipo';
ZQuery1.ParamByName('tipo').Value := Listview1.Selected.SubItems[2];
ZQuery1.ExecSQL;
zQuery1.SQL.Clear;
  end;
segun este post

la base de datos la cargo a mi listview mediante formcreate, puedo eliminar de la listview pero lo que requiero es borrar de la base de datos, existe alguna otra forma, pensando que a futuro hare la listview a virtual(cuando aprenda para hacerlo).

saludos
Responder Con Cita
  #6  
Antiguo 24-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
amigos aun no lo logro trato asi
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);

begin
zquery1.SQL.Text := 'SELECT * FROM Datos';
zquery1.Open;
while not zquery1.Eof do
begin
Zquery1.sql.text := 'delete  from Datos WHERE tipo = :tipo';
zQuery1.fieldbyname('tipo').AsString := listview1.Selected.SubItems[2];
ZQuery1.ExecSQL;
zQuery1.SQL.Clear;
end;
  end;
me dice Zquery1: Field 'tipo' not found
alguna idea??
Responder Con Cita
  #7  
Antiguo 24-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jonydread Ver Mensaje
me dice Zquery1: Field 'tipo' not found
alguna idea??
No existe el campo.

Será difícil ayudarte si no explicas más, no podemos ver tu ordenador
Responder Con Cita
  #8  
Antiguo 25-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
ise una prueba si estaba recogiendo bien el dato mediande un showmessage y hay estaba mi problema no lo estaba recogiendo bien
use parambyname
Código Delphi [-]
procedure TForm1.BitBtn2Click(Sender: TObject);

begin
zquery1.SQL.Text := 'SELECT * FROM Datos';
zquery1.Open;
while not zquery1.Eof do
begin
Zquery1.sql.text := 'delete  from Datos WHERE tipo = :tipo';
zQuery1.parambyname('tipo').AsString := listview1.Selected.SubItems[1];
ZQuery1.ExecSQL;
zQuery1.SQL.Clear;
end;
  end;
saludos y gracias!!
Responder Con Cita
  #9  
Antiguo 25-04-2013
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 jonydread.

Es innecesario recorrer la tabla, este código:
Código Delphi [-]
...
begin
  Zquery1.Close;
  Zquery1.SQL.Text := 'DELETE FROM DATOS WHERE TIPO = :PTIPO';
  Zquery1.ParamByName('PTIPO').AsString :=  listview1.Selected.SubItems[1];
  Zquery1.ExecSQL;
end;
borra todos los registros de la tabla DATOS cuyos campos TIPO tengan un valor igual al contenido en listview1.Selected.SubItems[1].

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 25-04-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
gracias optimizare eso

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
eliminar fila seleccionada en un listview jfrancho OOP 6 22-01-2013 20:36:52
cómo saber en una listview el item que está visible (no seleccionado) en cada momento igc C++ Builder 1 16-02-2007 18:25:52
¿Como Eliminar de la Bd el item seleccionado en un DbGrid? day_eli Conexión con bases de datos 1 09-02-2007 16:36:33
eliminar opcion de eliminar en un dbgrid morfeo21 Varios 3 14-07-2005 17:05:32
Elemento seleccionado de un ListView Tecnic2 OOP 4 09-06-2005 16:09:29


La franja horaria es GMT +2. Ahora son las 15:15:13.


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