
Novo projeto
Em Name digite "TypedDatasets". Clique em OK. Agora iniciaremos a construção do formulário. Coloque um componente Button, renomeie-o como btnMostrar e um componente ListView, nomeando-o Lista. Seu form deve ficar com a seguinte aparência:

Layout do Form
Começaremos agora a criar os objetos de acesso a dados: como dito no início, não será explicado como criar esses componentes passo-a-passo pois você já deve saber como fazer isso (caso contrário consulte os tutoriais citados no início deste tutorial).
Adicione ao form um objeto SqlConnection de nome "Conexao" e um objeto SqlDataAdapter de nome "Adapter". A conexão deve ser feita com o banco de dados Northwind do SQL Server 2000. O DataAdapter deve ser preenchido com a seguinte query "SELECT * FROM Customers".
Veja os objetos já criados (clique na imagem para vê-la por inteiro):

Objetos Criados
Agora clique com o botão direito do mouse na área de objetos invisíveis (onde estão os objetos "Conexao" e "Adaper") e será aberto um menu suspenso, clique em "Generate Dataset...":
Generate Dataset...
Começaremos a criar nosso Typed Dataset. A seguinte janela será apresentada:

Criando o DataSet
Selecione a opção New e digite o nome DSTyped. No quadro que contém as tabelas presentes no projeto aparecerá a única tabela que adicionamos ao nosso: a tabela Customers. Selecione-a e deixe também selecionada a opção "Add this dataset to the designer". Clique em OK e o Dataset será criado.
Note que o nome dele será "DSTyped1" e mesmo que tenhamos digitado somente "DSTyped", o VS.NET adicionará o número para que Datasets herdados desse tenham o mesmo nome e numeração seqüencial - mas você pode selecionar o Dataset e mudar seu nome na janela Properties.
Veja a figura abaixo (clique na imagem para vê-la por inteiro):

Dataset criado
Na janela Solution Explorer podemos visualizar o arquivo "DsTyped.xsd": nesse arquivo está armazenada a estrutura da tabela pertencente ao DataSet DsTyped1 (como você já deve saber um DataSet pode contar mais de uma tabela, nesse caso todas ficaram no mesmo arquivo XSD):

Arquivo DSTyped.xsd
Para visualizar o conteúdo desse arquivo, clique duas vezes sobre ele. Veremos agora o schema do Dataset (clique no detalhe para ver a imagem por inteiro):

Tabela "Customers" no schema Xsd
Ao visualizar a imagem inteira você deve ter percebido que na Toolbox existem componentes como "Relation" e "Key". Utilizar esses componentes é muito interessante especialmente quando temos mais de uma tabela no schema, podendo assim criar relacionamentos entre elas ("Relation") e chaves secundárias ("Key", que também pode ser usado para chaves primárias), além de muitos outros objetos existentes no schema.
Aqui não faremos isso pois temos apenas uma tabela e não necessitamos de nenhuma alteração especial em sua estrutura.
Vamos agora dar vida ao programa: o código abaixo deve ser inserido no evento Form1_Load e para isso clique duas vezes numa área vazia do form. Ele abre a conexão com o banco de dados e preenche o DataSet com os dados da tabela Customers.
Conexao.Open()
Adapter.Fill(DsTyped1, "Customers")
Conexao.Close()
Agora vamos adicionar o código ao botão. Clique duas vezes no botão btnMostrar e digite o seguinte código no evento btnMostrar_Click:
Dim Registro As DSTyped.CustomersRow
Lista.View = View.List
For Each Registro In DsTyped1.Customers.Rows
Lista.Items.Add(Registro.CompanyName & "/" & Registro.Country)
Next
Abaixo podemos ver o IntelliSense (recurso que completa o código durante a digitação) mostrando os nomes dos campos - o que facilita muito o desenvolvimento (clique no detalhe para ver a imagem por inteiro):

Nomes dos campos no IntelliSense
Veja como seria o código para listar os valores sem o uso de um Typed Dataset :
Dim DataRow1 As Data.DataRow
Lista.View = View.List
For Each DataRow1 In DsTyped1.Tables("Customers").Rows
Lista.Items.Add(DataRow1.Item("CompanyName") & "/" & DataRow1.Item("Country"))
Next
Note que os nomes de tabelas e campos tem que ser passadas como índices e para isso devemos saber seus nomes pois o IDE não tem onde buscá-los para nos apresentar e isso representa uma grande queda de produtividade e do desempenho da aplicação. Após digitar o código (o primeiro mais acima), execute sua aplicação pressionando F5. Após o form ser executado clique no botão "Mostrar".
Veja o resultado:

Programa em execução após pressionado o botão "Mostrar"
Conclusão
Há muitas razões para o uso dos Typed Datasets, particularmente penso que eles serão muito mais utilizados do que Datasets comuns pois trazem enormes vantagens como a facilidade de disponibilizar os nomes de tabelas e campos durante a digitação do código, detectar erros de nomes e tipos durante a compilação, facilidades do schema em XML para visualizar a estrutura do DataSet além de melhorar a performance da aplicação ;) ...
Marcas Registradas
Visual Basic.NET, Visual Studio.NET, Windows, SQL Server são marcas registradas da Microsoft Corporation.
Todos os demais nomes registrados, marcas registradas ou direitos de uso citados neste TM pertencem a seus respectivos proprietários.