segunda-feira, 25 de junho de 2012

Esse blog não será mais atualizado nesse endereço. A partir de hoje ele estará disponível no endereço www.milaneze.com.br.

Os mesmos posts continuam no novo endereço.

sábado, 9 de junho de 2012

TextBox com AutoComplete no ASP.NET

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2012/06/08/TextBox-com-AutoComplete-no-ASPNET.aspx


Encontrei alguns exemplos utilizando JQuery e AJAX e então resolvi adaptar um deles para exibir os resultados conforme o e-mail pesquisado e depois exibir o ID da pessoa selecionada em um alert.

http://dl.dropbox.com/u/20361010/blog/AutoCompletejQueryASP.rar

segunda-feira, 28 de maio de 2012

Instalando o MyGeneration no Windows 7 64 bits

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2012/05/28/Instalando-o-MyGeneration-no-Windows-7-64-bits.aspx


Estava tendo problema com o MDAC ao instalar o MyGeneration no meu PC com Windows 7 64 bits. Depois de procurar um pouco encontrei a solução no seguinte site post: http://skynetr.wordpress.com/2012/01/10/fixed-my-generation-drivers-dropdown-list-empty/

Os passos são:

1. Desinstalar o MyGeneration caso já esteja instalado;

2. Ao instalar, tire a opção do MDAC 2.7+;

3. Depois de intalar, clicar em "Não" 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.tlb

5. Fechar o prompt;

6. Abrir o MyGeneration.

sábado, 19 de maio de 2012

ASP.NET: TreeView Recursivo

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2012/05/19/ASPNET-TreeView-Recursivo.aspx


No último post eu falei sobre a criação de um menu recursivo (apesar de ser gerada uma lista sem CSS). Também disponibilizei um arquivo com a query para criação das tabelas e dados de exemplo.

Nessa semana, meu amigo Rafael (vulgo Boça) preciso de uma ajuda com algo parecido, porém, ao invés de montar um XML (que era o caso do exemplo do post anterior), ele precisava montar um TreeView. Os dados na tabela do problema dele têm uma estrutura muito parecida com a que montei no post anterior: cada registro referencia seu registro pai na mesma tabela.

Pesquisando, encontrei um exemplo no stackoverflow, que faz exatamente o que ele precisa. Adaptei o exemplo com a query necessária e o mesmo pode ser baixado pela seguinte URL:

http://dl.dropbox.com/u/20361010/TreeViewRecursivo.rar

domingo, 20 de novembro de 2011

ASP.NET: Menu Recursivo

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2011/11/20/ASPNET-Menu-Recursivo.aspx


Olá! Já tem algum tempo que não posto nada aqui, mas nessa semana vi um pessoal no trabalho fazendo um user control para criar um menu dinâmico. Eles chegaram numa solução, 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 solução e que ela seja de fácil manutenção, mas vou mostrar aqui qual foi minha solução utilizando recursividade.

O diagrama abaixo representa a parte de banco de dados, utlizando SQL Server:



O código para geração da tabela e criação dos dados pode ser baixado aqui: http://dl.dropbox.com/u/20361010/menu_recursivo_tabelas.sql

Como podem ver, existe uma tabela para criação do menu em si, outra para os usuários e uma outra para a criação do relacionamento n:n entre essas duas tabelas, gerando assim as permissões para os itens de menu que cada usuário terá.

Com o campo "Ordem" na tabela "Menu" e com o relacionamento citado anteriormente, é possível buscar os dados na aplicação somente visíveis para um determinado usuário e também na ordem que os itens estão configurados para aparecer. Assim não existe a necessidade nem de baixar mais dados que o necessário e nem de um processamento extra para o caso das permissões.

A aplicação é bem simples e, no meu exemplo, está somente na tela, tendo ainda que ser divida em camadas. Um trabalho que vou deixar por conta de vocês, já que não é o foco desse post.

O foco da aplicação está somente no método recursivo criado para gerar uma lista em html, num controle Literal, utilizando os dados no formato que está no banco de dados. A parte de CSS e JavaScript necessária também ficará por conta de vocês.

Aqui pode ser baixada a parte web (nesse caso, criei um Web Site): http://dl.dropbox.com/u/20361010/Menu.rar

Note que é necessário colocar o ID do usuário no TextBox para carregar o menu dele.


Espero que tenha sido simples de entender e que tenha ajudado alguém com esse post.

Até o próximo!

domingo, 9 de outubro de 2011

Formatação do Código SQL

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2011/10/09/Formatacao-do-Codigo-SQL.aspx


Essa página é legal pra formatar o código SQL, fazendo a identação. Ela também mostra como ficaria o código html, caso você queira usar esse código no seu blog ou site.

URL: http://www.dpriver.com/pp/sqlformat.htm

Achei legal, o único problema é que ele gera espaços ao invés de tabs, então acho que é uma ferramenta mais pra entender o código quando ele vem todo em uma linha só do que pra fazer uma query do início.

SELECT: Ordem Lógica de Processamento

Esse post não será mais atualizado nesse blog. Para visualizar esse post em seu novo endereço, acesse:
http://milaneze.com.br/post/2011/10/09/SELECT-Ordem-Logica-de-Processamento.aspx


A ordem de execução de um SELECT é:

1. FROM
2. ON
3. JOIN
4. WHERE
5. GROUP BY
6. WITH CUBE or WITH ROLLUP
7. HAVING
8. SELECT
10. DISTINCT
11. ORDER BY
12. TOP