Jump to content


Photo

[RESUELTO] realizar un delete


  • Please log in to reply
19 replies to this topic

#1 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 posts

Posted 01 March 2010 - 10:10 AM

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
  • 4266 posts
  • LocationCosta Rica

Posted 01 March 2010 - 10:25 AM

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 posts

Posted 01 March 2010 - 10:34 AM

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
  • 4483 posts
  • LocationVenezuela

Posted 01 March 2010 - 10:36 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.
  • 0

#5 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 posts

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

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 01 March 2010 - 10:59 AM

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
  • 14448 posts
  • LocationMéxico

Posted 01 March 2010 - 11:01 AM

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 posts

Posted 01 March 2010 - 11:36 AM

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
  • 14448 posts
  • LocationMéxico

Posted 01 March 2010 - 11:39 AM

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 posts

Posted 01 March 2010 - 11:56 AM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 01 March 2010 - 11:58 AM

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

#12 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 posts

Posted 02 March 2010 - 09:11 AM

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
  • 2092 posts
  • LocationRepública Dominicana

Posted 02 March 2010 - 09:21 AM

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 posts

Posted 02 March 2010 - 09:28 AM

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 posts

Posted 09 March 2010 - 10:13 AM

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
  • 4483 posts
  • LocationVenezuela

Posted 12 March 2010 - 08:28 AM

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 posts

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.



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 posts

Posted 12 March 2010 - 01:12 PM

resuelto gracias por todo
  • 0

#19 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4483 posts
  • LocationVenezuela

Posted 12 March 2010 - 02:26 PM

podrías decir cual era el problema?
  • 0

#20 mariarosina1984

mariarosina1984

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 215 posts

Posted 13 March 2010 - 09:09 AM

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.