Ver Mensaje Individual
  #1  
Antiguo 03-11-2011
jfh900 jfh900 is offline
Registrado
 
Registrado: ago 2010
Posts: 7
Reputación: 0
jfh900 Va por buen camino
Question ¿Como uso DBExpress, MySQL?

Hola a todos.

Tengo que realizar el siguiente esquema:

Tabla-> Artículos
Campo: IdArticulo (Clave)
.............

Tabla->Autores
Campo: IdAutor (Clave)
Campo: Nombre
.............

Tabla->ArtAut
Campo->Articulo
Campo->Autor

Uso MySQL, DBExpress y los componentes: SQLQuery, DataSetProvider, ClientDataset, DataSource.

En el SQL uso el siguiente comando:

Código SQL [-]
Select 
  Nombre 
From 
  Articulos, Autores, ArtAut
Where
  Articulos.IdArticulo = ArtAut.Articulo And
  Autores.IdAutor = ArtAut.Autor
Lógicamente tengo unos campos con la tabla artículos y un dbNavigator para moverme por los artículos y quiero que cuando cambie de registro automáticamente salgan los autores de dicho artículo en un dbGrid. Si pongo la sentencia tal y como figura, no se actualiza correctamente el dbGrid de autores, he tenido que hacer un SQL con un parámetro para controlar Articulos.IdArticulo y que cada vez que cambie el registro de la tabla Articulos cambien el parámetro de la sentencia SQL y se actualice el dbGrid.

La cuestión es ¿como se puede hacer sin utilizar parámetros?, ¿se puede insertar un registro en ArtAut y que se grabe correctamente? ¿La estructura está mal diseñada?.

Gracias anticipadas por vuestro interés y un saludo.

Última edición por Casimiro Noteví fecha: 03-11-2011 a las 11:15:46.
Responder Con Cita