- Um pequeno truque para fazer a pesquisa;
- uma função do MySQL para conversão de formatos de datas e como funciona a concatenação em MySQL com Asp.net;
- a forma de ordenação dos dados;
- e, como “bonus”, como selecionar as colunas de um gridview.
Com a ferramenta de administração do MySQL de sua preferência, crie uma tabela onde serão armazenados os dados. Neste tutorial, vou utilizar o mesmo banco de dados e a mesma tabela de amigos já vistos no tutorial de Dreamweaver. Criados o banco e a tabela, vamos ao passo a passo:
1. No Visual Web Developer, crie (ou abra) uma pg. aspx e insira uma dropdownlist e a configure de forma parecida com o “Select” do tutorial acima (se preferir um menu “select” comum em HTML, veja o final deste tutorial); o código é o seguinte:
<asp:DropDownList ID="lista1" runat="server" AutoPostBack="True">
<asp:ListItem Value="-01-">janeiro</asp:ListItem>
<asp:ListItem Value="-02-">fevereiro</asp:ListItem>
<asp:ListItem Value="-03-">março</asp:ListItem>
<asp:ListItem Value="-04-">abril</asp:ListItem>
<asp:ListItem Value="-05-">maio</asp:ListItem>
<asp:ListItem Value="-06-">junho</asp:ListItem>
<asp:ListItem Value="-07-">julho</asp:ListItem>
<asp:ListItem Value="-08-">agosto</asp:ListItem>
<asp:ListItem Value="-09-">setembro</asp:ListItem>
<asp:ListItem Value="-10-">outubro</asp:ListItem>
<asp:ListItem Value="-11-">novembro</asp:ListItem>
<asp:ListItem Value="-12-">dezembro</asp:ListItem>
</asp:DropDownList>
2. Vamos agora inserir um "sqldata source" e um controle para exibir os resultados da busca; neste tuto, vou usar uma gridview:
aniv-aspnet-1.jpg 26.07K
0 Downloads3. Vamos configurar o “data source”, p/ isso selecione a conexão e a tabela (se tiver dúvidas nesta parte, veja o tutorial: http://www.canaldev....spnet-ao-mysql/);
4. Mantenha o data source selecionado e entre em "properties" para configurar a consulta SQL e os parâmetros; a instrução SQL é a seguinte:
select *, date_format(nascimento, '%d/%m') as dia
from amigos
where nascimento Like concat('%', ?, '%')
order by dia asc
5. Perceba que usamos uma função do MySQL, a Date_format, para extrair o dia e o mês do campo “nascimento” (originalmente no formato "Date"); esse valor será armazenado temporariamente num campo (uma variável ou “alias”) chamado ‘dia’; o delimitador (“where”) no caso do MySQL é definido pela cláusula "Like" e vamos usar tb a função "concat" – o importante aqui é vc perceber como funciona a concatenção do MySQL em Asp.Net. Logo abaixo defina como parâmetro a dropdown list:
aniv-aspnet-2.jpg 28.53K
0 Downloads6. Salve e associe o data source à gridview; faça alguns testes e vc verá que a consulta já estará funcionando corretamente, retornando apenas aniversários referentes ao mês selecionado e em ordem crescente pelo dia (isso tb é importante, pois a ordenação padrão é feita pelo ano do nascimento).
7. E agora um retoque profissional: em listas de aniversariantes normalmente não interessa o ano do nascimento; assim, vamos configurar a “gridview” para exibir apenas as colunas “id”, “nome” e “dia”; pra isso, acione “Edit columns” e desative a opção “autogenerate columns”; a seguir, acione, em “avaliable fields” o primeiro item (“BoundField”) e associe à coluna desejada (por exemplo, id); repita o procedimento para as outras colunas, lembrando de inserir, em “Headertext”, o nome da coluna:
aniv-aspnet-3.jpg 46.78K
0 DownloadsDica final: caso prefira utilizar um “combo” select HTML simples, tb não há problema; p/ poupar trabalho copie o código do tutorial de Dreamweaver e insira um Button do tipo submit p/ acionar a consulta, mas atenção: nos parâmetros do DataSource configure-o da seguinte forma: em “parameter source” selecione “form” e em FormField digite o nome do “select” (v. exemplo abaixo):
aniv-aspnet-4.jpg 26.77K
0 Downloads
Editado por fernando c, 15/12/2011, 09:50.







Entrar
Cadastre-se









