Ir al contenido


Foto

[RESUELTO] realizar un delete


  • Por favor identifícate para responder
19 respuestas en este tema

#1 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 01 marzo 2010 - 10:10

tengo un bgrid kiero borrar una fila pincho una fila y le pincho el boton despues de eliminar y cuando le doy eliminar segun se borra la fila pero no aparece nada luego de eso sale el dbgrid en blanco y no se hicieron los cambios alguien me podria decir que pasa ahi? que esta mal de mi codigo? es el siguiente:



delphi
  1. var
  2. boton : integer;
  3. begin
  4. boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0);
  5. if boton = mrOK then
  6. Begin
  7.   query1.Active:=false;
  8.   query1.SQL.Text:='delete from BLIBROS';
  9.   query1.AutoRefresh:=true;
  10.   query1.CachedUpdates:=true;
  11.   QUERY1.ExecSQL;
  12.   showmessage('Registro borrado');
  13. End
  14. else
  15.   begin
  16.     Close;
  17.   end;
  18. end;



  • 0

#2 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 01 marzo 2010 - 10:25

Hola
A ver asi:


delphi
  1. var
  2. boton : integer;
  3. begin
  4. boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0);
  5. if boton = mrOK then
  6. Begin
  7.   query1.Active:=false;
  8.   query1.SQL.Text:='delete from BLIBROS';
  9.   query1.ExecSQL;
  10.   query1.Requery;
  11.   showmessage('Registro borrado');
  12. End
  13. else
  14.   begin
  15.     Close;
  16.   end;
  17. end;


Saludos
  • 0

#3 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 01 marzo 2010 - 10:34

Hola
A ver asi:


delphi
  1. var
  2. boton : integer;
  3. begin
  4. boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0);
  5. if boton = mrOK then
  6. Begin
  7.   query1.Active:=false;
  8.   query1.SQL.Text:='delete from BLIBROS';
  9.   query1.ExecSQL;
  10.   query1.Requery;
  11.   showmessage('Registro borrado');
  12. End
  13. else
  14.   begin
  15.     Close;
  16.   end;
  17. end;


Saludos

no re conoce el dephi el requery
  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 01 marzo 2010 - 10:36

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.
  • 0

#5 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

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
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 01 marzo 2010 - 10:59

Pues te falta el where, así como lo tienes te borra todos los registros:



delphi
  1. var
  2. boton : integer;
  3. begin
  4. boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0);
  5. if boton = mrOK then
  6. Begin
  7.   query1.Active:=false;
  8.   query1.SQL.Text:='delete from BLIBROS WHERE libro_id = :cod'; //en el where pones el campo id de la tabla.
  9.   query1.ParamByName('cod').value := Tabla1libro_id.AsInteger; //aqui cambia libro_id por el campo id de la tabla que tienes
  10.   QUERY1.ExecSQL;
  11.   showmessage('Registro borrado');
  12. End
  13. else
  14.   begin
  15.     Close;
  16.   end;
  17. end;



Saludos.
  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 01 marzo 2010 - 11:01

Hola

No se compliquen demasiado, en las propiedades del Query asigna la propiedad CachedUpdates a True y en el código pon lo siguiente....



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. if messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0) = mrOK then
  4. begin
  5.   query1.Delete;
  6. end;
  7. end;



Cuando se ejecute el códogo te va a mostrar una ventana de confirmación del borrado del registro.

Salud OS
  • 0

#8 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 01 marzo 2010 - 11:36

Hola

No se compliquen demasiado, en las propiedades del Query asigna la propiedad CachedUpdates a True y en el código pon lo siguiente....



delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. if messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0) = mrOK then
  4. begin
  5.   query1.Delete;
  6. end;
  7. end;



Cuando se ejecute el códogo te va a mostrar una ventana de confirmación del borrado del registro.

Salud OS

no jala por que dice ke me falta abrir el query o cerrar
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 01 marzo 2010 - 11:39

A 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
  • 0

#10 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 01 marzo 2010 - 11:56

A 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

asi lo tengo
  • 0

#11 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 01 marzo 2010 - 11:58

¿Verificaste lo que te recomendé el post #5?
  • 0

#12 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 02 marzo 2010 - 09:11

no serà ke me falta confirmaR la transaccion? para que se haga el cambio? cual seria la sintaxis?
  • 0

#13 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 02 marzo 2010 - 09:21

Saludos.

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.
  • 0

#14 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 02 marzo 2010 - 09:28

le pusè cachedupdates no trabaja le puse en la rejilla true pero no trabaja que pudris hacer?
  • 0

#15 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 09 marzo 2010 - 10:13

no funciona con todo lo ke he probado gracias pòr su ayuda no me hace el cambio del delete
  • 0

#16 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 marzo 2010 - 08:28

Si colocas el código del .PAS aqui podríamos adaptarle la sugerencia de egostar que es la mas fácil.
  • 0

#17 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

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.



sql
  1. var
  2. boton : INTEGER;
  3. BEGIN
  4. boton:=messagedlg('¿Estàs seguro que deseas eliminar?',mtConfirmation,mbOKCancel,0);
  5. IF boton = mrOK THEN
  6. BEGIN
  7.     QUERY1.CLOSE;
  8.     query1.DELETE;
  9.     query1.ExecSQL;
  10.     QUERY1.CLOSE;
  11.     QUERY1.SQL.CLEAR;
  12.   QUERY1.SQL.ADD('SELECT * FROM BLIBROS');
  13.     QUERY1.OPEN;
  14.   END ELSE BEGIN
  15.   query1.close;
  16.   QUERY1.SQL.CLEAR;
  17.     query1.SQL.text:='select * from blibros';
  18.     query1.OPEN;
  19.   END


  • 0

#18 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 12 marzo 2010 - 01:12

resuelto gracias por todo
  • 0

#19 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 marzo 2010 - 02:26

podrías decir cual era el problema?
  • 0

#20 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 mensajes

Escrito 13 marzo 2010 - 09:09

podrías decir cual era el problema?

ya lo hace pero kiero mandar el dato borrado del dbgrid del boton hacia el dbgird principal gracias
  • 0




IP.Board spam blocked by CleanTalk.