domingo, 27 de março de 2011

Preenchendo um ListBox com LINQ To SQL

E aí, pessoal!

Pra quem utiliza o Microsoft SQL Server, uma das formas mais práticas e de fácil implementação, é a utilização do LINQ To SQL. O LINQ to SQL que é um O/RM (mapeamento objeto relacional) e permite que se execute consultas nas tabelas do banco de dados, além da execução de stored procedures e demais operações como atualização, inserção e exclusão de registros.

O ponto chave do LINQ é a forma com que ele converte os dados da base em objetos de modelo, fazendo com que o desenvolvedor programe os rotinas de persistência usando a orientação a objetos.
Para obter mais informações do LINQ To SQL, acesse o link abaixo:
http://msdn.microsoft.com/en-us/library/bb386976.aspx

Nosso objetivo no artigo, é alimentar um controle ListBox usando o LINQ To SQL em linguagem C#. Abra o Visual Studio e crie um novo projeto (File > New > Project) do tipo Windows Forms Application em linguagem C#.


Arraste o controle ListBox da Toolbox para o Form do projeto.


Adicione um novo arquivo LINQ To SQL Classes no projeto (Project > Add New Item) que é responsável por fazer o mapeamento objeto-relacional da base de dados Northwind (caso não tenha, baixe clicando aqui).

Na guia Server Explorer (caso não apareça na IDE do VS, clique em View > Server Explorer), crie uma conexão com o servidor SQL apontando para a base Northwind e arraste a tabela Products para o arquivo DBML.




No evento Load do Form, vamos escrever uma rotina para alimentar o controle ListBox usando o LINQ. Pressione a tecla F7 para acessar o View Code, copie e cole a listagem abaixo no evento Load.

private void Form1_Load(object sender, EventArgs e)
{
    NorthwindDataContext context = new NorthwindDataContext();
    var resultado = (from p in context.Products
                     orderby p.ProductName
                     select new { p.ProductID, p.ProductName }).ToList();
    listBox1.DataSource = resultado;
    listBox1.DisplayMember = "ProductName";
    listBox1.ValueMember = "ProductID";
}

Basicamente, criamos uma conexão com o Northwind usando o objeto NorthwindDataContext (que foi criado automaticamente após a adição da tabela Products), e através dele, fizemos uma seleção de todos os registros da tabela Products. A fonte de dados do controle é a variável resultado. Executando a aplicação (tecla de atalho F5), colocamos um break point na variável para visualizar o resultado antes de alimentar o controle. Veja o resultado na imagem a seguir.




É isso aí! A implementação é rápida e prática.
Até o próximo artigo aqui no Programação On-Line.

Nenhum comentário:

Postar um comentário

Deixe aqui seu comentário