PDA

Ver la Versión Completa : ¿Como uso DBExpress, MySQL?


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.