PDA

Ver la Versión Completa : Sobre DBEdit's


deadsystems
16-03-2007, 23:41:49
Hola, una vez más, amigos del foro.

Quisiera me explicaran que debo hacer para que un dbedit me deje actualizar el dato que trae como resultado de una consulta SQL. Para explicarme un poco mejor...

Tengo una consulta SQL que su resultado se muestra en varios DBEdit's y quisiera modificar este resultado para luego en una consulta de actualización modificar la información de la BD; pero los DBEdit's no de dejan modificar la información que contienen. ¿Qué debo hacer?

Gracias de antemano,

Saludos.

roman
16-03-2007, 23:46:47
Normalmente una consulta SQL no es actualizable a menos que todos los datos se toen de una sola tabla y que la consulta incluya la llave primaria. Aun con estas condiciones, por lo general es necesario indicarle a la componente que deseas poder modificar los datos. En una componente TQuery del BDE lo haces con la propiedad RequestLive.

Si la consulta es compleja, puedes usar, en el caso del BDE, una componente TUpdateSQL ligada al Query, para indicar la consulta SQL que se requiera para poder actualizar un registro. En otras componenets habrá mecanismos similares.

// Saludos

deadsystems
16-03-2007, 23:53:03
Hola, Roman.

Realmente lo que deseo es modificar la información o dato que esta en el DBEdit, en estos momentos por ejemplo tengo en el DBEdit1 el teléfono y como esta mal o se cambio no puedo actualizar el que ya esta en el DBEdit. No sé si entenderás este enrredo que arme aquí.

roman
16-03-2007, 23:58:38
El DBEdit sólo refleja lo que haya en el dataset conectado. Si el dataset no es actualizable, entonces no hay manera que el DBEdit se pueda modificar.

// Saludos

Caral
17-03-2007, 00:01:03
Hola deadsystems
Por simpleza y para empezar, si la sentencia sql esta bien, como lo indico el maestro Roman, osea que las claves principales sean las correctas, yo diria que en principio usaras una componente dbnavigator, con este se podra modificar y demas, si este funciona y se quiere se podra hacer de otras formas o maneras.
Saludos

deadsystems
17-03-2007, 00:02:01
Y que me recomendarías hacer?

Lepe
17-03-2007, 11:38:19
¿No puedes sustituir los controles DBAware por otros?

Usa un Edit en lugar de un DBEdit, por ejemplo. Al abrir la consulta tendrás que asignar los datos de esa consulta con sus respectivos controles, lo mismo cuando se mueva entre registros.

Para modificar los datos no podrás usar un DBNavigator, ya que no dejará poner en edición el Dataset original, pero podrás poner un botón que simule el guardado y que realmente lance la consulta de actualización.

Saludos.