PDA

Ver la Versión Completa : Relacionar tablas (delphi+MySql)


mauricio
06-09-2003, 23:09:21
Estoy haciendo un directorio de paginas web clasificadas por
categorias,uso las tablas:
CATEGORIAS
que contiene nombre, id, descripcion...
y la otra tabla: DIRECCIONES donde tengo un id para relacionar con
categorias.

en el evento CellClick escribí:

filtro:= QueryCat.FieldByName('id').Value;
{toma la id de tabla categorias para luego filtrar las de este valor}

hasta aquí me funciona, la variable filtro toma el valor númerico.
pero al momento de filtrar sale el error.

y en el evento QueryDirFilterRecord
puse:
Accept:= Dataset['categoria']=filtro;

esto me debería filtrar, variable filtro es de tipo string,
el mensaje de error dice que no puede convertir variable de tipo string en tipo duble.
ya la he declarado como double pero no funciona tampoco.

hay alguna forma para que funcione?, algún ejemplo con mysql?

lo que busco hacer es que en tiempo de ejecución al seleccionar un campo de la tabla
CATEGORIAS se actualice la tabla DIRECCIONES con los datos filtrados.

GRACIAS.

DJ VMan
08-09-2003, 14:36:01
hola, a ver si ayudo:

- DIRECCIONES está como filtrada (filtered = true)?

- yo probaría con:

OnCellClick ;
begin
QueryDir.Filter := 'categoria = ' + QueryCat.FieldByName('id').AsString;

( o en caso de ID ser string: QueryDir.Filter := 'categoria = ''' + QueryCat.FieldByName('id').AsString + '''')

end;

Talvez agregar un Refresh...y a ver que pasa.

Noté que usaste Queries, creo recordar que los filtros con TQuery me produjeron algún dolor de cabeza. Porque no haces el "filtrado" a través de SQL, en vez de filtrado?...en una de esas funciona mejor.

Eso....ojalá y te vaya bien...nos vemos! ;) :cool:

mauricio
09-09-2003, 18:41:32
No me funciona, mejor intento con SQL, buscaré en la sección sql hay buen material.

Gracias por darme la :idea.

mauricio
10-09-2003, 15:34:55
Ya pude relacionar las dos tablas usando SQL.

QueryDir.SQL.Add('Select url, nombre, descripcion from direcciones where categoria ='+ QueryCat.FieldByName('id').Asstring);

ahora si se visualizan los datos al selecionar su categoria.