[firebase-br] Estrutura de banco Flexivel como Diretórios

Anderson Piccoli adpiccoli em gmail.com
Qua Abr 23 14:31:39 -03 2008


Assim... na tua aplicação, faz uma query para buscar todos os registros que
tiverem com o campo diretório pai em branco...

Depois criar uma rotina recursiva que lê todos os filhos de um registros
filhos.. tipo assim

void BuscaFilhos(int codigopai){

    Query.SQl = 'SELECT * FROM ARQUIVOS WHERE CODIGOPAI =' + codigopai;
     Query.open;

   While not(query.eof) do{
      //aqui vc adiciona a estrutura de diretorios, o regsitro que você leu
    if (qyery.campo(tipo) == 'D'  )
       BuascaFilhos(query.campo('codigopai').valor);


   }

}

É mais ou menos essa a idéia... com qual linguagem você esta trabalhando,
derepente posso te dar uma ajudinha melhor.


2008/4/23 Wagner Porto <wagner.porto em itelefonica.com.br>:

> Anderson,
> a sua ideia até funciona na montagem dos registros,
> mas na hora do select eu não consegui montar toda estrutura de volta
>
> Ex:
>
> 1..CONTRATO..D..
> 2..LAUDO..D..
> 3..Contratos Confidenciais..D..1
> 4..Contratos Diversos..D..1
> 5..Contrato 04/2008.pdf..A..4
>
> Agora e a select pra montar o resultado, como fica ?
> Contrato
> .....Contratos Diversos
> .........Contrato 04/2008.pdf
>
> Obrigado.
>
> Anderson Piccoli escreveu:
> > Pelo que entendi você quer um "cópia" da árvore de diretórios em uma
> tabela
> > de banco de dados para agilizar a busca, seria isso?
> >
> > bom se for isso tenho uma sugestão:
> >
> > Cria uma tabela com os seguintes campos
> >
> > Código, Descrição, Tipo (A - Arquivo, D - Diretório),Diretório Pai.
> >
> >
> > Código, para referenciar o registro
> > Descrição: Nome do diretório ou arquivo
> > Tipo: Para informar se arquivo ou diretório
> > Diretório Pai: Informa em qual diretório esta o arquivo, se o mesmo
> estiver
> > na raiz, fica com essa informação em branco, caso contrario preenche com
> o
> > código do diretório dentro do qual se encontra o arquivo.
> >
> > Seria  isso? Qualquer duvida pode perguntar
> >
> > Abraços
> >
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista