![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
Eliminar registro
Hola, podrian decirme como eliminar un registro de un DBGrid. Utilizo Delphi y MySQL.
En el form tengo una grilla, un ADOQuery y un Button. Lo que pretendo es poder eliminar cualquier registro haciendo clic en el button. Muchas Gracias. |
#2
|
||||
|
||||
Al final de esta página, abajo del todo, tienes varios enlaces que te ayudarán.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Hola, este es el código que pongo en el button para borrar un registro de un dbgrid. Lo hago correr y no aparece ningun error, pero no funciona.
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('delete articulo'); ADOQuery1.SQL.Add('where articulo.id_articulo=id_articulo'); ADOQuery1.Parameters.ParamByName('id_articulo').Value:=DBGrid1.DataSource.DataSet.Fields[id_articulo].AsInteger; ADOQuery1.ExecSQL; ADOQuery1.Open; Pueden mirar el código y decirme donde puede estar el error, sobre todo la linea que esta en negrita (creo que ese es el problema). Pregunta ¿Para borrar un registro solo es suficiente eliminar el campo clave, o hay que eliminar todos los campos de ese registro? Muchas Gracias |
#4
|
||||
|
||||
me parece que el problema esta aqui... no estas definiendo ningun parametro
prueba asi
nota que he puesto : antes de id_Articulo y nos comentas
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
||||
|
||||
La sentencia para borrar es:
delete from tabla where loquesea.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Hola lucas05, cuando ejecutas una consulta que va hacer cambios en tu BD (insert, update, delete) debes utilizar solo ExecSQL, por lo que esto "ADOQuery1.Open;" esta demas.
Con lo que te hemos mencionado, tu consulta quedaría asi:
Si te da algún error, no te olvides mencionar el error que te esta saliendo. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#7
|
||||
|
||||
![]()
__________________
Dulce Regalo que Satanas manda para mi..... |
#8
|
|||
|
|||
Muchas gracias a todos por responder.
Realice los cambios que me sugirieron (puse los dos puntos antes del id_articulo y borre la linea ADOQuery1.Open ![]() Cuando lo hago correr aparece el siguiente error: Undeclared identifier: 'id_articulo' El error esta en esta linea (puedes ser el id_articulo que esta entre corchetes): Query1.Parameters.ParamByName('id_articulo').Value:=DBGrid1.DataSource.DataSet.Fields[id_articulo].AsInteger; Nuevamente Muchas Gracias. |
#9
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#10
|
|||
|
|||
Hola, logre eliminar un registro de una grilla, pero aparecio un pequeño problemita. Les explico:
En el Form1 tengo una grilla y un button, cuando hago clic en el button(form1) abro el Form2 donde muestro todos los datos (en distintos dbedit) del registro seleccionado. Luego hago clic en el button eliminar(form2) que tiene el siguiente codigo para eliminar el registro. Form1.ADOQuery1.delete; Form1.ADOQuery1.SQL.Clear; Form1.ADOQuery1.SQL.Add('delete from articulo where id_articulo= :id_articulo'); Form1.ADOQuery1.Parameters.ParamByName ('id_articulo').Value:=Form2.DBEdit1.Text; Form1.ADOQuery1.ExecSQL; Luego de que se borro el registro cierro el form2 y vuelvo al form1 donde esta la grilla. El registro se borro, pero los otros registros que no borre no se pueden ver, la grilla queda en blanco. Aclaro que el unico registro que se borro es el que seleccione, los otros no se borraron pero para poder verlos debo volver a compilar el programa. Espero haber sido claro y que puedan ayudarme. Muchas Gracias. |
#11
|
||||
|
||||
los datos que estan en el FORM1 en la grilla o grid...
son de una tabla? de un query? lo que puedes hacer es refrescar la tabla o query
Me parece que la Primera linea esta demas
__________________
Dulce Regalo que Satanas manda para mi..... |
#12
|
|||
|
|||
Hola oscarac, los datos en la grilla son de un ADOQuery.
Segui tu consejo y agrega la siguiente linea al final de mi codigo: Form1.ADOQuery1.Refresh; Pero sigue sin mostrar nada. Lo que necesito hacer luego de eliminar el registro es refrescar el adoquery en tiempo de ejecución. Como puedo hacer eso. Muchas Gracias |
#13
|
||||
|
||||
mmmm otra cosa que se me ocurre es que lo cierres y lo vuelvas a abrir
__________________
Dulce Regalo que Satanas manda para mi..... |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Eliminar Registro | agustin173 | Varios | 27 | 09-12-2010 16:18:02 |
Eliminar Registro | agustin173 | Varios | 9 | 13-10-2010 06:32:41 |
eliminar un registro | pronto7 | SQL | 1 | 21-06-2010 20:33:21 |
Eliminar registro | sizne | OOP | 4 | 30-04-2010 15:17:58 |
Eliminar registro de un .mdb con ADO | ¥0n1 | Conexión con bases de datos | 2 | 07-11-2007 11:29:12 |
![]() |
|