Afinal o que diz a Google do Bing?

junho 15, 2009 by admin · Leave a Comment
Filed under: Dicas, Noticias, Tecnologia 

O Bing chegou e em pouco tempo conseguiu ultrapassar o Yahoo! Search nas preferências dos utilizadores. Esse facto poderá indicar uma nova faceta nas necessidades e nas escolhas dos utilizadores quando o assunto são pesquisas na Internet.

O mundo estava curioso em saber qual a opinião dos responsáveis da Google quando ao novo produto da Microsoft destinado ao mundo das pesquisas. De principio não foi dada grande importância à investida da Microsoft nos motores de pesquisa.

Num entrevista, Eric Schmidt, este CEO do Google afirmou não eram novidade estas investidas da Microsoft, é quase um processo anual, diz Schmidt.

Segundo dados da comScore, o Bing estará em terceiro lugar, após duas semanas de existência, atrás do Google (1º) e Yahoo! (2º) e detém 11,5% de participação do mercado de pesquisas.

Os valores registados logo após o lançamento e publicidade do novo motor de pesquisa da Microsoft, deveu-se à normal curiosidade que qualquer internauta teve em conhecer o Bing, remata Schmidt.

Antivírus gratuito da Microsoft está para breve

junho 15, 2009 by admin · Leave a Comment
Filed under: Dicas, Noticias, Tecnologia 

A Microsoft prepara para breve o lançamento do seu antivírus gratuito com protecção contra malware, vírus, rootkits, troianos e spyware.

Um porta-voz da empresa revelou que o produto já está a ser testado internamente entre os colaboradores e que dentro de pouco tempo será disponibilizada uma versão beta para os utilizadores, a partir do seu site.

O antivírus da Microsoft deverá ser compatível com o Windows Vista, XP e o novo Windows 7, mas não deverá ser integrado na nova suite, de acordo com a imprensa internacional.

A Microsoft já tinha no mercado uma solução de segurança com algumas ferramentas de protecção - o Live OneCare - cujas vendas a retalho deverão ser descontinuadas até ao final de Junho, mas que continuará activo até ao término das actuais subscrições. Todas as vendas do OneCare, incluindo as online, deverão terminar logo que o Morro esteja acessível.

Peter Firstbrook, analista da Gartner, descreveu o software como um “antivírus simples”, que utiliza o mesmo mecanismo do OneCare e que, sendo gratuito, deverá ter grande aceitação. Segundo este especialista, a Microsoft terá entrado no mercado dos antivírus por considerar que o McAfee e o Symantec não estavam a ter grande acolhimento entre os utilizadores, contribuindo para a elevada taxa de computadores infectados, prejudicando a experiência de utilização da Internet e a imagem da Microsoft.

Recorde-se que a McAfee e a Symantec são parceiras tradicionais da Microsoft nesta área e integram muitas vezes as suas soluções com o sistema da fabricante. Quando o utilizador compra o PC tem direito a um mês de protecção gratuita, que poderá estender pagando.

O analista acredita que se o Morro providenciar uma protecção eficaz, poderá significar uma mais-valia para os utilizadores e para a empresa, que receberá por esta via informação que pode usar para melhorar os produtos que comercializa, explicou Peter Firstbrook. TEK

Sabe o que é uma DataWarehouse?

junho 15, 2009 by admin · Leave a Comment
Filed under: Dicas, Tecnologia 

Uma Data Warehouse é um sistema que visa responder às questões relativas à gestão de uma Base de Dados. Embora muito relacionadas as bases de dados com as data warehouses, têm um funcionamento diferente, pois enquanto numa base de dados são inseridos dados/registos, a Data Warehouse vai extrair esses dados, organizando-os, de modo a responder a questões previamente programadas. Os dados extraídos devem ser facilmente perceptíveis e credíveis, pois estes dados poderão ter influência na gestão de uma empresa.

A construção de uma Data Warehouse é constituída por 4 fases:

1) Identificar os processos de negócio/actividade;

2) Escolher a granularidade dos dados a registar.

3) Identificar dimensões;

4) Identificar os factos;

É muito importante para quem faz uma Data Warehouse saber quem vai usar este sistema e para que fins. Quando falamos do “quem vai usar este sistema”, não nos devemos referir apenas a um departamento organizacional de uma empresa, mas sim a toda a empresa, de modo a que os dados seleccionados não se venham a repetir. Daí ser muito importante identificar os processos de negócio/actividade, pois é nesta fase que serão criadas as questões que a Data Warehouse irá responder posteriormente e se faltarem questões, também vão faltar respostas.

Quando escolhemos a granularidade, estamos a ir ao máximo detalhe possível. Por exemplo, vamos supor que queremos responder apenas a duas questões: Quantos produtos foram vendidos num dia? Quantos produtos foram vendidos num mês? A nossa granularidade seria Produto x Dia, pois é o nível de detalhe que estas duas questões exigem.

As dimensões representam todas as possíveis descrições que tomam valores singulares no contexto de cada medida, ou seja, todas as possibilidades verificadas nas questões, estarão descritas nas dimensões, que por sua vez, estarão ligados à tabela de factos. Cada dimensão é criada conforme os dados existente na granularidade. Pegando no exemplo anterior, a Data Warehouse teria duas dimensões, a do Tempo e dos Produtos.

É a tabela de factos que nos vai dar os dados necessários para responder às questões solicitadas. Esta tabela é composta por dados que sejam numéricos e aditivos. Continuando com o exemplo anterior, um atributo possível para esta tabela de factos seria: quantidade vendida.

Níveis de Qualificação: Maturidade para o marketing digital

junho 1, 2009 by admin · Leave a Comment
Filed under: Dicas, Tecnologia 

Conforme meu último arquivo, Maturidade para o marketing digital, prometi disponibilizar na seqüência os níveis de qualificação para os pilares principais do novo modelo de maturidade sugerido. Hoje veremos os níveis dos três primeiros pilares, e na próxima semana colocarei o restante e o link para enviar suas respostas, recebendo de volta o resultado da avaliação.

Cada pilar tem quatro níveis de qualificação. Vamos fazer um exercício? Verifiquem em qual dos quatro níveis para cada pilar sua empresa se encontra.

1. Estratégia de Mensuração

01. Não temos estratégia de mensuração. A companhia não acredita que uma estratégia de mensuração seja necessária.

02. Reconhecemos o valor de uma estratégia unificada, mas não sabemos como criar uma. / Ainda estamos traçando o escopo de uma estratégia.

03. Temos uma estratégia, mas não está alinhada entre os diversos segmentos da empresa. / As estratégias existentes não estão alinhadas com os objetivos gerais da empresa.

04. Temos uma estratégia unificada e adotada por toda a empresa. / A estratégia está totalmente alinhada com a visão da empresa. Todas as atividades de marketing digital baseiam-se nos objetivos da empresa.

2. Recursos existentes e expertise

Recursos Analíticos existentes

01. Ninguém na empresa sabe como utilizar e/ou configurar uma ferramenta de mensuração. Precisamos de assistência externa.

02. A companhia tem um administrador que investe de 10% a 20% de seu tempo na ferramenta de mensuração. Este administrador:

  • Não conhece muito bem a ferramenta e comete erros com freqüência;
  • Usa massivamente o suporte técnico do fabricante;
  • Precisa de instruções passo a passo para a maioria das tarefas.

03. A companhia tem um ou mais administradores que investem de 50% a 75% do tempo na ferramenta de mensuração. Estes administradores:

  • Têm um bom conhecimento da ferramenta, não cometem erros freqüentes;
  • Utilizam o suporte técnico da ferramenta com freqüência;
  • Não conseguem oferecer soluções criativas e contornar algumas situações.

4. A companhia tem um ou mais administradores que investem mais de 75% do tempo na ferramenta de mensuração. Estes administradores;

  • Conhecem muito bem a ferramenta, não cometem erros freqüentes;
  • Oferecem soluções criativas e conseguem contornar boa parte das situações.

Expertise

01. Ninguém na empresa é dedicado às atividades de web analytics. É necessária assistência externa para análise e interpretação dos dados.

02. Um funcionário dedica de 50% a 90% do seu tempo com as atividades de Web Analytics, podendo eventualmente lidar com questões técnicas de administração. Os recursos são escassos e as requisições levam tempo para serem atendidas. Para projetos especiais, é necessário recorrer à assistência externa.

03. Pelo menos uma pessoa - que não o administrador técnico - é dedicada à análise web. Esta pessoa consegue entregar os relatórios e requisições ad hoc de forma rápida. Em grandes organizações, esta pessoa trabalha na área de Business Intelligence ou Web Analytics.

04. Um time de funcionários - que não os analistas - trabalha com marketing digital. Este time:

  • Trabalha com outros tipos de dados;
  • Oferece recursos proativos para o restante da organização;
  • Possui nível executivo.

3. Integração e Visualização dos Dados

Integração dos Dados

01. Os data sources não são integrados. / Não há capacidade técnica para integrar os data sources online. / Compreensão limitada ou inexistente das oportunidades de integração.

02. Estamos cientes da importância da integração dos dados. / Capacidade limitada ou inexistente de conceber ou configurar a integração dos dados / Eventualmente, fazemos integração dos dados com ferramentas limitadas, como o Excel, por exemplo.

03. Conhecemos os data sources disponíveis e sabemos como eles podem ser integrados e suas relações com outras fontes de dados. / Somos adeptos do planejamento e execução de integrações básicas, utilizando várias ferramentas de armazenamento de dados, acesso e mensuração.

04. A integração dos dados está alinhada com a estratégia de mensuração e objetivos empresariais. / Nosso staff sabe como integrar múltiplos data sources online e offline. / Dados provenientes das integrações oferecem visões críticas para entender a integração do visitante com a marca.

Visualização dos Dados

01. A interface da ferramenta e os relatórios padrão são os principais métodos de entrega dos dados. / Não customizamos os dashboards ou relatórios, utilizamos as visualizações padrão.

02. Considerações mínimas são feitas acerca da visualização e entrega dos dados; a interface da ferramenta e os relatórios padrão são os principais métodos de entrega. / Uso limitado dos dashboards e relatórios configurados no sistema da ferramenta. / Poucos ou nenhum relatório programado ou enviado por email.

03. Os requisitos para os relatórios são baseados em KPIs definidos por stakeholders. / Os dados são adicionados manualmente em um formato consistente de relatório, como Word ou PowerPoint. / A interface da ferramenta é um complemento aos outros métodos de entrega. / Utilizamos dashboards e relatórios customizados. / Os relatórios geralmente são programados e enviados por email.

04. Um trabalho específico relativo à visualização e entrega de dados tem sido feito. / Os KPIs e dados detalhados provenientes de múltiplas fontes são automaticamente integrados no Excel ou em aplicações web personalizadas, e entregues como um Scorecard interativo para os principais interessados. A interface da ferramenta é um complemento aos outros métodos de entrega, que são utilizados apenas pelos analistas. / Utilizamos massivamente dashboards e relatórios customizados. / Temos processos formais para programar e enviar relatórios por email.

Se você chegou até aqui (sim, eu sei. É bastante coisa!), provavelmente esbarrou em alguns itens que despertaram algumas surpresas e fizeram a cabeça borbulhar de idéias.

Fonte: Imasters

O que é o Google Wave?

junho 1, 2009 by admin · Leave a Comment
Filed under: Dicas, Google API, Programação 

O que é o Google Wave?

O Google anunciou, na sexta passada, uma ideia nova e experimental para modificar o futuro da comunicação na Web. O nome é Wave (”Onda”) e, se você acreditar no seu desenvolvedor, é “o que o email seria se fosse inventado hoje”. Além disso, vai ser totalmente open source. Já está intrigado?

Primariamente, o Wave tem como objetivo melhorar a comunicação em tempo real na web. Aqui tem um vídeo de quase hora e meia com a apresentação completa aos desenvolvedores na conferência Google I/O, mas se você não quiser ou não tiver tempo de ver, fique com os detalhes diretamente da boca do Google:

O QUE É UMA WAVE?

Uma wave é conversação e documento em partes iguais. As pessoas podem se comunicar e trabalharem juntos com texto formatado, imagens, vídeos, mapas e mais.

Uma wave é compartilhada. Qualquer participante pode responder em qualquer ponto da mensagem, editar o seu conteúdo e adicionar participantes em qualquer ponto do processo. A função Playback permite que qualquer um retroceda a Wave passo a passo desde o início, para ver quem disse o quê e quando.

Uma wave é viva. Com a transmissão instantânea à medida que você digita, os participantes de uma wave podem ter conversações mais rápidas, ver edições e interagir com extensões em tempo real.

Bastante amplo, né? O Google Wave é claramente algo que precisaremos ver em ação, usar mesmo, antes de entender completamente como funciona. Da mesma forma que o email, o Wave foi desenvolvido como um padrão que poderá ser rodado a partir de qualquer servidor, então ele não vai pertencer ao Google. Qualquer um vai poder ter o seu próprio Wave, e este Wave pode competir com o do Google ou se comportar como o dono quiser. Mas, sendo criado sobre um protocolo padrão, Waves diferentes podem entender e se comunicar entre si, da mesma forma que o Outlook pode trocar emails normalmente com um Thunderbird, GMail ou Yahoo Mail.

Isso resolve um problema que eu (e muitos outros bem mais inteligentes que eu) sempre tive com o Twitter: ele vive nos servidores de uma empresa, e a sua informação está suscetível ao que quer que a empresa queira fazer com ela. RSS, email e mensagens instantâneas trabalham com protocolos padrões que podem ser utilizados por qualquer um. É o exemplo dos emails que eu dei acima.

O blog TechCrunch fez uma análise bem detalhada do Wave (link lá no fim, em inglês) e dos rumos que o Google tomou com ele até agora. O Wave ainda é incrivelmente novo e pouco desenvolvido, mas também é muito intrigante sob o ponto de vista do Futuro-da-Internet e coisa assim. Pode não dar em nada, mas considerando as reações que teve e a popularidade de serviços como o Twitter e o Facebook, a ideia de um protocolo que transforma uma comunicação deste tipo em padrão aberto soa muito promissora.

O Wave não está disponível de nenhuma forma para mim e para você por enquanto, e muito da tecnologia por trás dele depende das atualizações do HTML 5, que não estarão disponíveis pelo menos por mais um pouco de tempo, mas no site oficial você pode se inscrever para atualizações do Google Wave se estiver ansioso por toda e qualquer novidade do desenvolvimento. (N.T.: Eu mais do que certamente estou.)

Fonte: Imasters

Microsoft e Linux juntam-se pelo software

maio 21, 2009 by admin · Leave a Comment
Filed under: Noticias, Tecnologia 

A Microsoft e a Linux Foundation decidiram juntar esforços para ajudar a mudar as novas directrizes de licenciamento de software.

O objectivo desta parceria é que o American Law Institute mude as recomendações que vai propor no campo das decisões jurídicas de software , noticia a imprensa internacional.

As duas empresas pedem que a aprovação destas directrizes seja adiada, para darem sugestões e uma definição mais clara de responsabilidades nas garantias dadas ao software com defeito. A Linux Foundation, pelo seu director Jim Zemlin, considera que «os princípios especificados pela ALI interferem com o processo natural das licenças de código aberto ou comerciais e criam garantias implícitas que podem resultar numa quantidade tremenda de processos desnecessários».

Horacio Gutierrez, da Microsoft, considera que as duas empresas estão «unidas pelo software». Exame Informática

Fonte: PeopleWare

Está despedido - foi o Google que disse!

maio 21, 2009 by admin · Leave a Comment
Filed under: Carreira, Noticias, Tecnologia 

O Google criou uma ferramenta que permite identificar quem vai deixar a empresa. Trata-se de um algoritmo destinado a tentar identificar quais são os profissionais que poderão deixar o motor de busca na Internet.

O Google decidiu avançar com esta criação depois de ter perdido recentemente vários dos seus quadros superiores.

De acordo com uma notícia do «Wall Street Journal», a empresa recorreu a uma fórmula matemática que se encontra em teste para travar a fuga de cérebros que estava a ameaçar a capacidade competitiva da empresa a longo prazo.

Esta ferramenta avalia as promoções concedidas aos funcionários e a evolução dos seus salários para tentar perceber quais dos seus 20 mil empregados têm maior probabilidade de abandonar a empresa. Agência Financeira

Fonte: PeopleWare

300 DVDs num só disco?

maio 21, 2009 by admin · Leave a Comment
Filed under: Noticias, Tecnologia 

Um disco de «cinco dimensões», com capacidade de armazenamento 10 mil vezes superior aos actuais DVDs, pode chegar ao mercado em dez anos, revelaram ontem investigadores da Swinburne University of Technology na Austrália

Investigadores australianos desenvolveram um novo método de gravação de dados em camadas de vidro que permite armazenar 1.6 Terabytes, o que equivale a registar 300 DVDs  num único disco.

De acordo com uma reportagem da BBC sobre um artigo publicado na revista Nature, trata-se de uma gravação óptica em cinco dimensões (5-D), com recurso a partículas de ouro, em escala nanométrica, que pode vir a ser comercializado dentro de dez anos.

O grupo de investigadores afirma ter adicionado três dimensões às duas já existentes nos CDs e DVDs correntes graças à manipulação de propriedades particulares dos «nanotubos» de ouro.

Além de ser possível produzir em larga escala, o custo do material usado no novo método de gravação atinge valores muito reduzidos. SOL

Métricas para o uso de bibliotecas de terceiros

maio 21, 2009 by admin · Leave a Comment
Filed under: Dicas, Tecnologia 

O desenvolvimento de software nos dias de hoje, como muitas outras áreas, está cada vez mais padronizado. Com isso se tem menor número de códigos escritos e maior número de bibliotecas de terceiros. Quando digo biblioteca, me refiro a códigos em geral (frameworks, libs, classes).
Esse fato é visto por uns como ponto positivo, mas por outros como negativo.

Mas o caso é não podemos ter essa visão única para o caso geral de todos os códigos adicionais de terceiro, pois existem várias situações que podem mudar o cenário.

Antes de tomar uma iniciativa de importar uma lib devemos avaliar idéias de outras pessoas em relação à ela. Para isso basta entrar em alguns fóruns ou fazer uma busca rápida na Internet. Nesses sites podem-se encontrar muitos prós e contras para a lib e, baseado nelas, é possível descartá-la. Lembrando que às vezes o que é considerável contra por alguém, pode ser uma coisa simples para outra pessoa. Portanto vale uma leitura mais crítica, analisando a viabilidade no projeto e na situação em que está. Outra coisa que vale destacar é o nível de seriedade do site em que se encontraram as opniões, pois é o mesmo que ler uma notícia em um site especializado, ou um blog crítico que te direciona para outras visões da mesma notícia, ou em um blog que distorce as informações focando ideologias próprias.

Nessa pesquisa é bom ver como é a licença para uso nos projetos comerciais, se o projeto é ativo com muitas atualizações de versões ou se as atualizações de versão são apenas para correção de bug, se ela é livre para modificação, etc.

Passando a etapa de pesquisas, passamos para a parte prática, onde deve-se fazer uma comparação de desempenho de funcionalidades com e sem ela, além de ver se a lib te proporciona a escalabilidade necessária para o que seu sistema precisa.

Ainda temos que ver quais as limitações práticas que ela terá e o quanto é custoso para contorná-la com a forma convencional ou utilizando outra lib. Por último, temos que ver qual é a curva de aprendizado para usá-la e pensar que no projeto podem ter muitas pessoas trabalhando com o mesmo código (mesmo que seja um projeto pessoal, sempre temos que pensar dessa forma para garantir um bom código). Então, pensar na manutenção do código futuramente.

Essa é mais uma daquelas análises que variam de projeto para projeto e o nível que essa estatística precisa alcançar varia da mesma maneira. Mas com uma boa análise diminui-se a probabilidade de um erro, consequentemente melhorando diretamente na produtividade do desenvolvimento.

Fonte: Imasters

Acesso básico a dados com LINQ to SQL

maio 14, 2009 by admin · Leave a Comment
Filed under: .Net, Programação 

O desenvolvimento de aplicações para acesso a banco de dados usando a plataforma .NET não sofreu grandes alterações desde o seu lançamento. Geralmente você começa definindo o seu banco de dados, tabelas, relacionamentos, em seguida parte para a definição das classes de forma a procurar representar o domínio do seu negócio e finalmente usa os mesmos conceitos abstratos básicos de programação: definindo objetos Connection, objetos Command, objetos datareader, objetos dataset etc.

Muitos desenvolvedores já têm sua biblioteca de funções prontas ou usam recursos de terceiros ou mesmo da Microsoft, como os Data Application Blocks.

Ficamos tão acostumados como uma forma de escrever código que, muitas vezes, não percebemos que temos novos recursos à disposição, que irão garantir um melhor desempenho e manutenção. Afinal, se está funcionando, é o que importa, pensamos…

A partir da versão 3.0, e consolidada na versão 3.5 da plataforma .NET, temos um leque de novas funcionalidades que nos dão um ganho muito grande de produtividade. Uma delas, o foco deste artigo, é o LINQo SQ tL.

Neste artigo eu vou mostrar como usar os novos recursos do LINQ to SQL para efetuar o mapeamento para tabelas de um banco de dados SQL Server e, em seguida, usar os recursos da linguagem LINQ de forma  ter um código enxuto e eficiente. Bem diferente da forma como estávamos acostumados a fazer.

Vou criar uma aplicação web, mas poderia ser uma aplicação windows forms, e usando a linguagem VB .NET, vou efetuar o mapeamento OR/M para uma tabela Alunos do banco de dados Teste.mdf criado no SQL Server 2005 Express Edition, sem usar o assistente e o descritor objeto Relacional disponível, dessa forma podemos entender um pouco melhor como as coisas funcionam.

Como não é objetivo deste artigo, eu não vou mostrar como criar o banco de dados e a tabela no Visual Web Developer 2008 Express, mas essa é uma tarefa bem simples. Se você tiver dúvidas, consulte as referências para maiores detalhes.

Abaixo temos o banco de dados Teste.mdf e a tabela Alunos definida com os campos: id, nome e email, onde o campo id é uma chave primária do tipo identity;

Logo depois temos a tabela exibindo alguns dados que eu incluí para usar no projeto deste artigo.

O banco de dados será copiado na pasta App_Data.

Em seguida defina o arquivo web.config a string de conexão usada para acessar o banco de dados Teste.mdf:

<connectionStrings>
 <add name="connectionStringAlunos"
connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename='C:\Documents and
Settings\macoratti\_
   Meus documentos\Visual Studio 2008\Projects\linq_Entities\linq_Entities\App_Data\Teste.mdf';_
   Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

Observe que temos o nome connectionStringAlunos a string de conexão usada.

Nota: Na sua máquina local a string de conexão pode ser diferente, atente para este detalhe.

No exemplo deste artigo eu vou usar o Visual Web Developer 2008 Express Edition, que já dá suporte ao LINQ to SQL e permite efetuar o mapeamento objeto relacional.

Abra o VWD 2008 e crie um novo web site a partir do menu File-> New web site com o nome de acessoLINQ usando a linguagem VB .NET;

A seguir a partir no menu Web Site -> Add New Item, selecione o template Class e informe o nome LINQ.vb e clique em Add; (o arquivo será copiado na pasta App_Code).

Antes de iniciar, clique com o botão direito do mouse sobre o nome do projeto e selecione Add Reference e, a partir da janela Add Reference, inclua a referência a System.Data.Linq;

Agora vamos criar a classe que vai efetuar o mapeamento OR/M com a tabela Alunos do nosso banco de dados. Veja o código a seguir:

Imports System
Imports System.Data.Linq.Mapping

<Table(name:="Alunos")> _
Public Class aluno

    Private _id As Integer
    Private _nome As String
    Private _email As String

 <Column(IsPrimaryKey:=True, IsDbGenerated:=True)> _
    Public Property Id() As Integer
        Get
            Return _id
        End Get
        Set(ByVal value As Integer)
            _id = value
        End Set
    End Property

    <Column(CanBeNull:=True)> _
    Public Property Nome() As String
        Get
            Return _nome
        End Get
        Set(ByVal value As String)
            _nome = value
        End Set
    End Property

    <Column(CanBeNull:=True)> _
    Public Property Email() As String
        Get
            Return _email
        End Get
        Set(ByVal value As String)
            _email = value
        End Set
    End Property

End Class

Definimos a classe aluno mapeada para a tabela Alunos e definimos três propriedades:

  • Id()
  • Nome()
  • Email()

Cada uma delas sendo mapeada para a coluna correspondente da tabela Alunos;

Com isso já teremos o acesso via entidade criada no mapeamento.

A classe aluno representa a tabela Alunos do banco de dados.

Vamos agora criar a interface na página Default.aspx. Inclua a partir da ToolBox os seguintes componentes nesta página:

  • TextBox - ID=txtNome
  • Button - ID=btnProcurar
  • GridView - ID=gdvAlunos

Defina o seguinte leiaute na página:

Agora vamos definir o código associado ao evento Click do botão Procurar:

 Protected Sub btnProcurar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnProcurar.Click

  Dim conexao As String = ConfigurationManager.ConnectionStrings("connectionStringAlunos").ConnectionString.ToString
  Dim db As New DataContext(conexao)
  Dim tAlunos As Table(Of aluno)
        tAlunos = db.GetTable(Of aluno)()
        gdvAlunos.DataSource = tAlunos.Where(Function(a) a.Nome.Contains(txtNome.Text))
        gdvAlunos.DataBind()

 End Sub

1. Obtemos a string de conexão a partir do arquivo web.config:

 Dim conexao As String = ConfigurationManager.ConnectionStrings("connectionStringAlunos").ConnectionString.ToString

2. Criamos uma instância da classe DataContext usando a conexão obtida;

Dim db As New DataContext(conexao)

3. Definimos um objeto tAlunos do tipo Table(Of )

     
Dim tAlunos As Table(Of aluno)

4. Obtemos a tabela ALunos a partir do contexto criado através do método GetTable<> que referencia o nome da classe aluno e não nome da tabela;

tAlunos = db.GetTable(Of aluno)()

5. Usamos uma expressão lambda onde selecionamos os nomes contidos na tabela a partir da expressão informada no TextBox txtNome;

tAlunos.Where(Function(a) a.Nome.Contains(txtNome.Text))

Executando o projeto, se nada for informado na caixa de texto, todos os dados da tabela serão exibidos:

Informando um critério qualquer teremos:

Observe que não nos preocupamos em definir objetos connection, commands, datareaders ou datasets apenas instanciamos um contexto a partir do qual tivemos acesso, a partir da classe mapeada para a tabela, aos dados usando uma consulta LINQ.

O código ficou mais enxuto e tivemos menos trabalho. E isso sem usar o assistente; com ele o trabalho de gerar a classe não seria necessário. Devemos portanto conhecer os novos recursos para saber avaliar quando usá-los para obtermos um produto final mais refinado.

Aguarde novos artigos sobre o assunto…

Pegue o projeto completo aqui:  acessoLINQ.zip

Referências:

Fonte: Imasters

Próxima Página »