var boton : integer; begin boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0); if boton = mrOK then Begin query1.Active:=false; query1.SQL.Text:='delete from BLIBROS'; query1.AutoRefresh:=true; query1.CachedUpdates:=true; QUERY1.ExecSQL; showmessage('Registro borrado'); End else begin Close; end; end;
[RESUELTO] realizar un delete
#1
Escrito 01 marzo 2010 - 10:10
#2
Escrito 01 marzo 2010 - 10:25
A ver asi:
var boton : integer; begin boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0); if boton = mrOK then Begin query1.Active:=false; query1.SQL.Text:='delete from BLIBROS'; query1.ExecSQL; query1.Requery; showmessage('Registro borrado'); End else begin Close; end; end;
Saludos
#3
Escrito 01 marzo 2010 - 10:34
no re conoce el dephi el requeryHola
A ver asi:
delphi
var boton : integer; begin boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0); if boton = mrOK then Begin query1.Active:=false; query1.SQL.Text:='delete from BLIBROS'; query1.ExecSQL; query1.Requery; showmessage('Registro borrado'); End else begin Close; end; end;
Saludos
#4
Escrito 01 marzo 2010 - 10:36
El problema se te soluciona utilizando otro query para el borrado.
Otra cosa es que estando así como lo tienes estas borrando toda la información.
#5
Escrito 01 marzo 2010 - 10:48
estas utilizando el mismo query para el dbgrid como para ejecutar la sentencia??
El problema se te soluciona utilizando otro query para el borrado.
Otra cosa es que estando así como lo tienes estas borrando toda la información.
se que me falta poner el where si estoy utilizando otro query
#6
Escrito 01 marzo 2010 - 10:59
var boton : integer; begin boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0); if boton = mrOK then Begin query1.Active:=false; query1.SQL.Text:='delete from BLIBROS WHERE libro_id = :cod'; //en el where pones el campo id de la tabla. query1.ParamByName('cod').value := Tabla1libro_id.AsInteger; //aqui cambia libro_id por el campo id de la tabla que tienes QUERY1.ExecSQL; showmessage('Registro borrado'); End else begin Close; end; end;
Saludos.
#7
Escrito 01 marzo 2010 - 11:01
No se compliquen demasiado, en las propiedades del Query asigna la propiedad CachedUpdates a True y en el código pon lo siguiente....
procedure TForm1.Button1Click(Sender: TObject); begin if messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0) = mrOK then begin query1.Delete; end; end;
Cuando se ejecute el códogo te va a mostrar una ventana de confirmación del borrado del registro.
Salud OS
#8
Escrito 01 marzo 2010 - 11:36
no jala por que dice ke me falta abrir el query o cerrarHola
No se compliquen demasiado, en las propiedades del Query asigna la propiedad CachedUpdates a True y en el código pon lo siguiente....
delphi
procedure TForm1.Button1Click(Sender: TObject); begin if messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0) = mrOK then begin query1.Delete; end; end;
Cuando se ejecute el códogo te va a mostrar una ventana de confirmación del borrado del registro.
Salud OS
#9
Escrito 01 marzo 2010 - 11:39
Saludos
#10
Escrito 01 marzo 2010 - 11:56
asi lo tengoA ver, tu deberías tener un query abierto con un select * from tabla para poder ver los datos en el dbgrid, ese mismo query es el que debes de utilizar y hacer lo que te propuse.
Saludos
#12
Escrito 02 marzo 2010 - 09:11
#13
Escrito 02 marzo 2010 - 09:21
No recuerdo bien, pero tengo entendido, que BDE aplica la transacción siempre y cuando sea implícita. Ahora bien cuando usas CacheUpdates o StartTransaction debes de ser tú quien termine la transacción.
#14
Escrito 02 marzo 2010 - 09:28
#15
Escrito 09 marzo 2010 - 10:13
#16
Escrito 12 marzo 2010 - 08:28
#17
Escrito 12 marzo 2010 - 08:54
Si colocas el código del .PAS aqui podríamos adaptarle la sugerencia de egostar que es la mas fácil.
var boton : INTEGER; BEGIN boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0); IF boton = mrOK THEN BEGIN QUERY1.CLOSE; query1.DELETE; query1.ExecSQL; QUERY1.CLOSE; QUERY1.SQL.CLEAR; QUERY1.SQL.ADD('SELECT * FROM BLIBROS'); QUERY1.OPEN; END ELSE BEGIN query1.close; QUERY1.SQL.CLEAR; query1.SQL.text:='select * from blibros'; query1.OPEN; END
#18
Escrito 12 marzo 2010 - 01:12
#19
Escrito 12 marzo 2010 - 02:26
#20
Escrito 13 marzo 2010 - 09:09
ya lo hace pero kiero mandar el dato borrado del dbgrid del boton hacia el dbgird principal graciaspodrías decir cual era el problema?