Esse post nao sera mais atualizado nesse blog. Para visualizar esse post em seu novo endereco, acesse:http://milaneze.com.br/post/2011/10/05/Formatacao-de-Codigo-SQL.aspxMuitas vezes encontramos codigo SQL que faz um SELECT de varias colunas, tem WHERE, JOIN, etc, menos uma identacao que ajude a entender o que aquela query realmente faz. Essa pagina ajuda a formatar o codigo que estiver em T-SQL, PL/SQL, entre outros:http://www.dpriver.com/pp/sqlformat.htmA pagina ainda fornece o codigo gerado em HTML para colocar no seu site, caso necessario.Achei essa ferramente boa para quando a query ja esta feita e e necessario entende-la. Para iniciar uma query e mais interessante ja fazer ela formatada, pois essa ferramenta usa espacos para identacao e nao tabs. Esse post nao sera mais atualizado nesse blog. Para visualizar esse post em seu novo endereco, acesse:http://milaneze.com.br/post/2012/05/28/Instalando-o-MyGeneration-no-Windows-7-64-bits.aspxEstava tendo problema com o MDAC ao instalar o MyGeneration no meu PC com Windows 7 64 bits. Depois de procurar um pouco encontrei a solucao no seguinte site post: http://skynetr.wordpress.com/2012/01/10/fixed-my-generation-drivers-dropdown-list-empty/Os passos sao:1. Desinstalar o MyGeneration caso ja esteja instalado;2. Ao instalar, tire a opcao do MDAC 2.7+;3. Depois de intalar, clicar em "Nao" quando for perguntado por "Launch MyGeneration?";4. Abrir o Visual Studio 2010 Command Prompt como Administrador e digitar o seguinte comando: regasm.exe "C:\Program Files (x86)\MyGeneration13\MyMeta.dll" /tlb: MyMeta.tlb5. Fechar o prompt;6. Abrir o MyGeneration. Esse post nao sera mais atualizado nesse blog. Para visualizar esse post em seu novo endereco, acesse:http://milaneze.com.br/post/2011/11/20/ASPNET-Menu-Recursivo.aspxOla! Ja tem algum tempo que nao posto nada aqui, mas nessa semana vi um pessoal no trabalho fazendo um user control para criar um menu dinamico. Eles chegaram numa solucao, mas eu disse que tinha um outro caminho que provavelmente seria mais simples e que poderia seguir a 3NF no banco de dados. No final, acredito que o mais importante seja conseguir entregar a solucao e que ela seja de facil manutencao, mas vou mostrar aqui qual foi minha solucao utilizando recursividade.O diagrama abaixo representa a parte de banco de dados, utlizando SQL Server:O codigo para geracao da tabela e criacao dos dados pode ser baixado aqui: http://dl.dropbox.com/u/20361010/menu_recursivo_tabelas.sqlComo podem ver, existe uma tabela para criacao do menu em si, outra para os usuarios e uma outra para a criacao do relacionamento n:n entre essas duas tabelas, gerando assim as permissoes para os itens de menu que cada usuario tera.Com o campo "Ordem" na tabela "Menu" e com o relacionamento citado anteriormente, e possivel buscar os dados na aplicacao somente visiveis para um determinado usuario e tambem na ordem que os itens estao configurados para aparecer. Assim nao existe a necessidade nem de baixar mais dados que o necessario e nem de um processamento extra para o caso das permissoes.A aplicacao e bem simples e, no meu exemplo, esta somente na tela, tendo ainda que ser divida em camadas. Um trabalho que vou deixar por conta de voces, ja que nao e o foco desse post. O foco da aplicacao esta somente no metodo recursivo criado para gerar uma lista em html, num controle Literal, utilizando os dados no formato que esta no banco de dados. A parte de CSS e JavaScript necessaria tambem ficara