PDA

Ver la Versión Completa : Actualizar DBGrid con ADO


manu
26-03-2005, 13:08:17
Hola a todos.
Tengo el siguiente problema.
Tengo un DBGrid, al dar un doble Click, se borra el registro cliqueado con los siguentes comandos.
SQLText := 'DELETE From Tabla1 WHERE indicativo="'+AdoQuery1.FieldByName('Indicativo').AsString+'"';
ADOCommand1.CommandText := SQLText;
ADOCommand1.Execute;
El registro se borra de la tabla, pero no se borra de DBGrid.
Saludos.
:confused:
Manuel

lgarcia
26-03-2005, 13:18:04
Hola

Me parece que el problema es que debes actualizar el procedimiento almacenado o el ADOQuery que le dan los datos al DBGrid.

Saludos
Luis Garcia

_______________________________________________
Ahorrar despedidas es ahorrar llanto

Lepe
26-03-2005, 13:45:38
Dicho de otra forma:

Si el grid depende de una consulta, o bien pones la propiedad RequestLive a True, o bien cieras y abres la consulta de nuevo.

Saludos

manu
26-03-2005, 23:17:58
Hola.
Gracias a los dos.
Pero sigue sin funcionar.
La Propiedad RequestLive, no esta en los componentes ADO.
Cerrar y abrir la consulta tampoco funciona funciona.

Da la sensacion de que hubiera un buffer de datos del cual esta sacando los datos el dbgrid.
De hecho cuando se ejecuta el programa se crea un fichero *.ldb que se borra cuando cierro el programa.
Alguna otra ayuda.
Saludos :confused:

MasterXP
27-03-2005, 13:29:38
el dataSet Tiene la propiedad CachedUpdate en True ???

manu
27-03-2005, 17:36:40
Gracias por tu respuesta,
La ADOTable no tienen esa propiedad.
Saludos.

Ryu
06-04-2005, 15:54:47
Tambien puedes actualizar la adotable cerrando y abriendo
adotable1.close;
adotable1.open;
se debe actualizar pues estas cerrando y abriendo.

JESUSNET
17-09-2007, 21:35:33
prueba haciendo dbgrid1.refresh despues de cerrar y abrir la tabla

waly2k1
18-09-2007, 02:20:29
tendrás que hacer tabla o query.Requery siempre, ya que estas borrando los datos directamente de la tabla, pero no del recordset almacenado en memoria. En realidad es lo mismo que cerrar y abrir el datasource.