SQL - ACTUALIZACION DE CONSULTAS

 
Vista:

ACTUALIZACION DE CONSULTAS

Publicado por Marina (2 intervenciones) el 28/05/2002 17:11:05
Hola a todos,

Trabajando con Delphi 6 e InterBase 6, tenemos dos tablas con las siguientes estructuras:

Clientes Ciudades
----------------------- ------------------------
Código de Cliente Código de ciudad
Denominación de cliente Denominación de Ciudad
Código de Ciudad
...
...

La tabla Clientes, posee una clave o llave foránea del campo código de ciudad, con igual campo de la tabla ciudades.

Mediante una grilla y un Query, consultamos los datos de la tabla clientes relacionada con la tabla Ciudades mediante la clave o llave foránea.

Tabla Cliente Tabla Ciudad
------------------------------------------------ -------------------
Cód.Cliente Denominación Cliente Cód.Ciudad Denominación Ciudad

Un problema es que si editamos el código de ciudad y lo reemplazamos, la denominación de la ciudad no se actualiza en la grilla. Esto sí lo solucionamos con los campos LOOKUP, pero no tenemos claro que debemos utilizar, las llaves foráneas o los campos LookUp ?

El segundo problema es que si durante la edición del código de ciudad, (mediante un botón) accedemos a la ventana de Actualización de ciudades, agregamos registros y asignamos uno de ellos al código de ciudad de la tabla clientes, ese código no existe para el query o grilla principal. Este problema se nos presenta tanto con las claves foránea como con los campos LookUp.

La pregunta es, si existe forma de actualizar el Query o la grilla sin tener que cerrar y abrir el Query nuevamente.

Desde ya muchas grac
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:ACTUALIZACION DE CONSULTAS

Publicado por José Julián (8 intervenciones) el 31/05/2002 07:26:15
Bien, segun mi limitado, escaso e insignificante conocimiento en programación cliente/servidor creo que una consulta no se puede actualizar ya que esta abierta (a menos que como tu dices, se cierre y se vuela a abrir). No has considerado usar en la definición de tus tablas la instruccion "on update cascade" al momento de definir la clave foranea.
Otra cosilla, segun lo que entendi estas usando un Query con un DBGrid para el mantenimiento de los datos del cliente (Datos del cliente y cuidad en este caso), solo espero que la propiedad RequestLive del Query no este puesta es True, por que de ser asi, las cosa estaría poco peor que si usaras un Table, (imaginate tu tabla con un millon de registros, para ir del primero al ultimo), bien, ahora supongo que sabes que si usas una consulta de solo lectura esta se abrira mas rapido que un Table, puedes usala asi (solo lectura) y el componente TUpdateSQL para la modificación a la Base de Datos.

Bueno, a lo mejor esto ya lo sabías, si es asi pues que remedio, pero vuelvo a repetir una consulta abierta no se puede actuallizar.

Saludos desde Sonora, México hasta donde quiera que vivas, que supongo que es Argentina por la dirección del correo.
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