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
Posted 01 March 2010 - 10:10 AM
#2
Posted 01 March 2010 - 10:25 AM
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
Posted 01 March 2010 - 10:34 AM
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
Posted 01 March 2010 - 10:36 AM
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
Posted 01 March 2010 - 10:48 AM
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
Posted 01 March 2010 - 10:59 AM
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
Posted 01 March 2010 - 11:01 AM
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
Posted 01 March 2010 - 11:36 AM
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
Posted 01 March 2010 - 11:39 AM
Saludos
#10
Posted 01 March 2010 - 11:56 AM
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
Posted 02 March 2010 - 09:11 AM
#13
Posted 02 March 2010 - 09:21 AM
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
Posted 02 March 2010 - 09:28 AM
#15
Posted 09 March 2010 - 10:13 AM
#16
Posted 12 March 2010 - 08:28 AM
#17
Posted 12 March 2010 - 08:54 AM
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
Posted 12 March 2010 - 01:12 PM
#19
Posted 12 March 2010 - 02:26 PM
#20
Posted 13 March 2010 - 09:09 AM
ya lo hace pero kiero mandar el dato borrado del dbgrid del boton hacia el dbgird principal graciaspodrías decir cual era el problema?