jfh900
03-11-2011, 10:25:59
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:
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.
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:
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.