Delphi - ¿Es normal?

 
Vista:

¿Es normal?

Publicado por Frasko (25 intervenciones) el 18/06/2006 01:45:09
Hola a todos!! Me gustaría que me dijerais si es normal una cosa que me ocurre con la aplicación.

Tengo un formulario donde muestro los resultados de una consulta en campos tdbedit. En este formulario tengo tres botones "modificar datos" "eliminar registro" y "salir". Pues total, si yo modifico los datos en el formulario pero salgo pulsando el botón "salir" no debería de actualizar nada, pero no se porque me modifica los datos!! Funciona como si hubiera pulsado el botón modificar. He revisado todo el código pero no veo nada anormal.

Estoy usando mysql 4.1 y los componentes zeos.

Un saludo a todos y gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Es normal?

Publicado por Frasko (25 intervenciones) el 18/06/2006 01:54:19
Especifico aún mas.

Cuando se modifica es cuando cambio los valores en el formulario, pulso salir y vuelvo a entrar otra vez al formulario mediante la busqueda. Entonces ya parece que se quedan guardados los cambios cuando no he tocado el botón modificar.

No se si me explico muy bien, pero lo he intentado

un saludo a todos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es normal?

Publicado por BigLuis (713 intervenciones) el 18/06/2006 15:16:27
Es un comportamiento normal. Fijate en una regilla de datos (TDBGrid), cuando editas un registro o añades uno moviendote con las flechas del teclado, al cambiar de fila, lo que has hecho en la anterior te queda grabado. Eso mismo sucede con los controles TDBEdit y cualquier control de acceso a datos. Cuando tú en el formulario modificas un registro y a continuacion sales es como si cambiases de fila y enviases las modificaciones a la base de datos. Para tener un mayor control sobre el flujo de las grabaciones tienes que emplear c odigo como por ejemplo if (sender as TDataSource).Dataset.State in [dsEdit,dsInsert] que chequea si la tabla está en estado de insercion o edicion. Poner la propiedad Autoedit del los TDataSource a false y realizar el chequeo anterior en el evento Onclose u Ondestroy del formulario, en fin hay multiples posibilidades.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Es normal?

Publicado por Frasko (25 intervenciones) el 22/06/2006 10:49:49
Gracias por la ayuda Luis! No he podido leer el mensaje hasta hoy, esto de los exámenes me va a matar...

Cuando lo pruebe te comentaré los resultados, un saludo y gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar