Consulta MySQL

Hola, como le puedo hacer para regresar el puntero al ultimo registro seleccionado en en DBGrid, el DBGrid es llenado mediante una consulta sql
Por Ejemplo, tengo 5 registros en el DBGrid, modifico el tercero, pero para reflejar los modificaciones debo desactivar y activar el Query, y es ahí, donde el puntero se regresa al primer registro, no en el que estaba anterior a la actualización

1 Respuesta

Respuesta
1
Ok, antes de desactivar el Query, guardas el valor del campo que es llave primaria, digamos así:
var nombre:string;
begin
nombre := QueryNOMBRE.Value;
Query.ACtive := false;
Query.ACtive := true;
query.Locate('NOMBRE',nombre,[]);
end;
Lo que trato de decir es: QueryNOMBRE es un campo el valor que tiene el campo NOMBRE lo guardaremos en la variable nombre, luego reactivamos el query, luego con el locate hacemos la búsqueda en el campo 'NOMBRE' con lo que tenga la variable nombre y listo. Checalo.
Ahora lo curioso es que tengas que desactivar y actuviar el query para que los cambios sean reflejados, no debería ser así, Dime que componentes estas usando (ADO, ¿DBE... ETC Cuales?)
Utilizo los componentez Zeos, y efectivamente si no le doy activar y descativas no me muestra los datos actualizados, ¿hay alguna a otra manera de que me los muestre?
Bueno la manera que te mencione funciona.
Nunca he usado los componentes Zeos, pero quizá funcionen como otros.
Ok, yo me supongo que cuando modificas, pues le das Query. Post; esto te graba, y por lo general los querys modifican directamente en la base de datos al darle post. Ahora también checa si componente que se conecta a la base de datos, tiene alguna propiedad de commit o algo así.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas