Visual Basic 2005 Express Edition
Visual Basic 2005 Express Edition
Visual Basic 2005 Express Edition
2
3
4
5
6
7
8
9
10
11
12
33
34
35
36
37 Para iniciar um projeto você deve ir no menu superior do VB 2005, clicar em "File" e escolher a opção
38 "New Project", quando clicar, vai aparecer essa tela, então você escolhe a opção "Windows Application",
39 para uma aplicação ao Windows e clica em Ok.
40
41
42 Ambiente de Trabalho – Ambiente VB 2005
43
44
45
46
47 • 1 – È o formulário onde você vai criar suas aplicações, como adicionar botões, imagens, labels, etc.
48 • 2 – Esse menu são as opções da ToolBox, encontrada no menu 3, que ajuda você á adicionar os botões,
49 labels, imagens e várias outras coisas.
50 • 3 – Menu 2 Superior, é responsável por boa parte do trabalho, que tem as seguintes opções de trabalho :
51
52 -• New Project – Para você iniciar um novo projeto, como foi mostrado no inicio da aula.
53
54 -• Open File – Para abrir algum projeto.
55
56 -• Add New Item – Para você adicionar um novo item, por exemplo : Um novo formulário, um novo
57 banco de dados.
58
59 -• Save "Arquivo" – Para salvar o projeto que está aberto no momento.
60
61 -• Save All – Para salvar todos os arquivos que estão abertos nas abas.
62
63 -• Cut – Recortar algo no formulário.
64 -• Copy – Para copiar algo do projeto.
65
66 -• Paste – Para colar algo que foi copiado.
67
68 -• Find – Serve para procurar algo no projeto.
69
70 -• Coment – Comentário para fora as linhas selecionadas.
71
108 Neste artigo eu vou mostrar como você pode criar um formulário para efetuar o pedido de
109 venda de um produto em uma aplicação Windows Forms usando somente os assistentes de
110 configuração para Data Source.
111 Suponha que você tenha que criar um formulário de pedidos para vendas em uma aplicação
112 Windows Forms usando o VB 2005 Express Edition.
114 Nota: Não vou entrar no mérito do modelo nem nos detalhes de criação do banco de dados,
115 das tabelas e dos relacionamentos. É importante efetuar a modelagem de forma correta
116 definindo as chaves primárias as chaves estrangeiras e os relacionamentos.
117 A representação do modelo relacional acima, feito para as tabelas usadas neste artigo, foi
118 obtido a partir do diagrama do banco de dados criado na IDE do Visual Basic 2005 Express
119 Edition. Abaixo temos a figura onde exibimos o diagrama criado:
120 Além disso você terá que criar uma interface que irá usar, como tabelas principais, as tabelas
121 Pedido e Itens, e que deverá receber os pedidos dos clientes e discriminar os itens destes
122 pedidos.
123 Para saber mais leia o artigo : VB.NET - Usando DataBase Diagrama
124 Abra o Visual Basic 2005 Express Edition e crie uma nova aplicação Windows Forms com o
125 nome Vendas.
126 Você deverá criar um banco de dados contendo as tabelas com a estrutura acima. No exemplo
127 mostrado neste artigo o banco de dados é identificado pelo nome livraria.mdf.
128 Altere o título do formulário form1.vb para Pedidos. Abaixo você tem uma visão do projeto
129 no VB 2005.
130 Vamos incluir um novo Data Source selecionando a partir do menu Data ou da janela Data
131 Source a opção Add New Data Source...
132 Na janela do Assistente de configuração para Data Source selecione a opção Database pois
133 estaremos efetuando a conexão um banco de dados relacional SQL Server.
134
135 Escolha a seguir a conexão com a fonte de dados. Se ela não existir clique no botão New
136 Connection e selecione o tipo da fonte de dados e sua localização;
137 Em seguida será apresentada a janela contendo os objetos do banco de dados livraria.mdf,
138 expanda o objeto Tables e selecione as tabelas Itens e Pedido, pois vamos trabalhar somente
139 com essas tabelas e altere o nome do dataset que será gerado para PedidosDS;
140 Na janela DataSource você verá o DataSet - PedidosDS exibindo as tabelas itens e Pedido.
141 Perceba que a tabela Pedido possui um vinculo com a tabela Itens decorrente do
142 relacionamento feito pela chave pedidoID;
143 A janela Solution Explorer também exibe o DataSet onde é possível visualizar o esquema
144 criado com base nas tabelas do banco de dados.
145 Na janela Data Sources vamos expandir a tabela Pedido e alterar o modo de exibição de
146 alguns dos seus campos, para isso basta selecionar o campo e escolher a opção desejada a
147 partir do menu;
150 A seguir vamos definir o modo de visualização dos campos da tabela como Details. Clique na
151 tabela e selecione este modo a partir do menu;
152 Arraste e solte a tabela no formulário form1.vb do projeto. Você deverá ver cada campo
153 sendo exibido no formato definido no DataSet; verá também a criação dos objetos abaixo na
154 bandeja do formulário;
162 Arraste e solte a tabela no mesmo formulário form1.vb , logo abaixo do local onde os itens da
163 tabela pedido foram exibidos;
164 Vamos selecionar o DataGridView criado e clicar na opção Edit Columns;
165
168 Obs: Para Remover o campo PedidoID selecione o campo e clique no botão Remove.
169 Vamos criar outro Data Source a partir da tabela livros para que possamos usar no formulário
170 de pedidos. A partir da janela Data Sources ou no menu Data Selecionando a opção Add New
171 Data Source , selecione DataBase, aceite a conexão já criada com o banco de dados
172 livraria.mdf e na janela onde são exibidos as tabelas do banco de dados selecione a tabela
173 Livros informando nome LivrosDS para o dataset a ser criado;
174 Vamos repetir o procedimento e criar mais dois novos Data Sources : ClientesDS e
175 PagmentosDS. Iremos usar estes DataSources no formulário de pedidos logo em seguida.
176 Veremos a seguir como usar os Data Sources criados. Lembra que no formulário , alteremos o
177 tipo de coluna do campo LivroID no DataGridView para DataGridViewComboBoxColumn. Pois
178 bem, agora na propriedade DataSource vamos indicar o nome LivrosDS referente ao Data
179 Source que acabamos de criar definindo as propriedades DisplayMember como titulo e
180 ValueMember como livroID;
181 Vamos agora selecionar a comboBox definida para o campo ClienteID e a partir da janela Data
182 Sources arrastar e soltar a tabela Clientes do data source ClientesDS criado. Em seguida
183 repita o procedimento para a comboBox do campo forma pagamento ID arrastando a tabela
184 Pagamentos do data source PagamentosDS;
185 Perceba que na bandeja do formulário os objetos DataSet, BindingSource e TableAdapter
186 são criados para cada Data Source usado no formulário.
188 1- Note que no lugar de exibir o código do livro o DataGridView exibe uma coluna contendo
189 os títulos de cada livro;
190 2- A combobox referente a forma de pagamento agora exibe a descrição do pagamento e não
191 o seu código;
196 E temos então o formulário completo pronto para ser usado no cadastramento de pedidos
197 usando um interface amigável que foi criada sem você ter que digitar praticamente nenhuma
198 linha de código.
199 Naturalmente faltou espaço para falar das validações e outros recursos que podem ser usados
200 para tornar a aplicação mais robusta e funcional. Essa é deixa para você atuar melhorando o
201 exemplo acima...
203
204 José Carlos Macoratti
205 VB 2005 - Atualizando dados com TableAdapter
206
208 Após você realizar as alterações no seu DataSet você deve enviar os dados para o banco de
209 dados. Lembre-se que um DataSet trabalha no modo desconectado e se você não enviar as
210 atualizações para o banco de dados ele não refletirá as operações feitas no DataSet.
211 Se estiver usando um TableAdapter você deve usar o comando Update deste componente
212 para atualizar as tabelas correspondentes no banco de dados.
Os TableAdapters usam comandos de dados para ler e para escrever em uma fonte de dados. O
método Fill associado a consulta é a base para criar o esquema da tabela de dados associada com como
os comandos insertCommand, UpdateCommand, e DeleteCommand associados com o método Update
do TableAdapter.
Desta forma ao chamar o método Update ele executa a instrução criada quando o TableAdapter foi
originalmente configurado e não uma das consultas adicionais que podem ter sido criadas com o
Assistente de configuração do TableAdapter.
213 O componente TableAdapter ira executar os comandos : INSERT, UPDATE E DELETE tendo
214 como base os valores obtidos para a propriedade RowState.
220 O procedimento exato para atualizar uma fonte de dados pode variar dependendo das
221 necessidades do seu negócio mas sua aplicação deverá realizar os seguintes passos:
222 1. Chamar o método Update do adaptador dentro de um bloco Try/Catch;
223 2. Se uma exceção for capturada, localize a linha de dados que causou o erro;
224 3. Corrija o erro na linha de dados e tente atualizar novamente;
Para localizar linhas que possuem erros em seu DataSet faça o seguinte:
If DataSet1.HasErrors Then
For Each table In DataSet1.Tables
If table.HasErrors Then
For Each row In table.Rows
If row.HasErrors Then
' Processar o erro
End If
Next
End If
Next
End If
End Sub
225 Para salvar os dados para o banco de dados chame o método Update do TableAdapter
226 passando o nome da tabela que contém os valores que deverão ser escritos no banco de
227 dados.
228 O trecho de código que pode ser usado para realizar tal operação:
Try
Me.Validate()
Me.CustomersBindingSource.EndEdit()
Me.CustomersTableAdapter.Update(Me.NorthwindDataSet.Customers)
MsgBox("Atualização realizada com sucesso...")
Catch ex As Exception
MsgBox("A atualização falhou...")
End Try
243 Se você esta atualizando duas ou mais tabelas relacionadas deverá incluir toda a lógica de
244 atualização em uma transação. Uma transação é um processo que assegura que todas as
245 mudanças relacionadas feitas no banco de dados tenham sido completadas com sucesso antes
246 de confirmar, através do comando commit, qualquer mudança.
Transações são grupos de operações combinadas em uma unidade lógica de trabalho. Elas
são usadas para controlar e manter a consistência e integridade de cada ação na transação, a
despeito dos erros que possam ocorrer no sistema.
251 A seguir temos um exemplo de realização de tal operação. As etapas a serem cumpridas são :
257 O exemplo abaixo trata com as tabelas Orders e Customers. Essas tabelas possui um
258 relacionamento mostrado a seguir:
A tabela Customers é a
tabela Pai e a tabela
Orders a tabela filha;
Catch ex As Exception
MessageBox.Show("Ocorreu um erro durante o processo de atualização")
Finally
'libera os recursos alocados
If deletedChildRecords IsNot Nothing Then
deletedChildRecords.Dispose()
End If
If newChildRecords IsNot Nothing Then
newChildRecords.Dispose()
End If
If modifiedChildRecords IsNot Nothing Then
modifiedChildRecords.Dispose()
End If
End Try
End Sub
260 Com isso temos um panorama geral sobre como atualizar dados usando um TableAdapter.
267 O DataGridView é um controle com 1001 utilidades, flexível e poderoso se comparados com
268 controles grids das versões anteriores do VB (lembra do DBGrid, MSFlexGrid, DataGrid, etc...)
269
270 Embora não seja complicado de usar como toda novidade desperta curiosidade e dúvidas, e,
271 por este motivo este artigo procurar mostrar as maneiras mais comuns e úteis de usar o
272 controle DataGridView.
273 Para começar você vai ter que ter instalado os seguintes recursos:
275 O primeiro passo e abrir o VB 2005 Express e criar uma aplicação Windows Forms via opção
276 File->New Project com o nome de datagridViewTotal
End Sub
281 Opa ! mas o que aconteceu ??? O resultado não é o esperado. Por que ?
282 Você esperava que os elementos do array fossem exibidos mas somente o tamanho de cada
283 elemento foi exibido.
284 O motivo deste comportamento é que o DataGridView procura pela primeira propriedade
285 pública do objeto ao qual esta vinculado e a primeira propriedade pública de um array de
286 strings é o tamanho de cada elemento contido no array.
287 Para fazer da maneira correta devemos envolver o array de string em uma classe que exponha
288 propriedades públicas que retornem o conteúdo de cada um dos elementos que desejamos
289 exibir.
290 Podemos fazer isso criando uma classe e definindo um construtor e uma propriedade pública
291 para ter acesso ao valor de cada elemento do vetor:
292 No menu Project -> Add Class selecione o template Class e informe o nome vetor.vb para o
293 nome da classe a seguir inclua o seguinte código na classe:
294 Voltando ao formulário form1.vb e alterando o código para usar a classe criada temos:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
End Sub
295 Da mesma forma podemos vincular o controle DataGridView a um objeto mais complexo.
299 Vamos incluir um dataset tipado ao projeto clicando sobre o nome do projeto com o botão
300 direito do mouse e seleciona a opção Add New Item. Na janela selecione o template DataSet
301 e clique Add;
302 Habilite o DataBase Explorer no menu View e localize o banco de dados Northwind.mdf ,
303 expanda o objeto Tables e em seguida arraste e solte a tabela Customers no descrito
304 DataSet1.xsd conforme a figura abaixo:
305 No próximo passo vamos vincular o dataset ao DataGridView e podemos fazer isto das
306 seguintes formas:
310 A seguir inclua um botão de comando no formulário e inclua o código abaixo no evento Click
311 do botão:
314 Para este exemplo você deve criar um TableAdapter para a tabela Customers. Para fazer isso
315 inclua um novo DataSet no projeto e arraste a partir da janela DataBase Explorer a tabela
316 Customers do banco de dados Northwind.mdb.
317 A seguir Inclua no projeto a seguinte declaração (se ainda não o fez) :
319 Agora insira um novo botão de comando e no evento Click do botão insira o código:
'define a fonte de dados para o bindingsource e obtém os dados do método GetData do TableAdapter
bindsrc.DataSource = da.GetData
'vincula o BindingSource ao DataGridView
DataGridView1.DataSource = bindsrc
End Sub
323 Primeiro temos que criar e preencher um dataset para em seguida atribuir à propriedade
324 DataSource do DataGridView o dataset gerado.
325 No código estou atribuindo à propriedade DataMember a tabela gerada no dataset. Uma
326 outra maneira de obter o mesmo resultado seria atribuir diretamente a propriedade
327 DataSource a tabela gerada que no caso seria a primeira tabela (pois só temos uma) :
328 ds.tables(0). Neste caso não necessitaríamos de definir o Datamember.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'define o dataset
Dim ds As DataSet = New DataSet()
Try
'---abre a conexao---
conn.Open()
'---preenche o dataset---
dataadapter.Fill(ds, "Clientes")
'---fecha a conexao---
conn.Close()
'---vincula o dataset ao DataGridView---
DataGridView1.DataSource = ds 'ou ds.tables(0)
'---define a tabela a ser exibida---
DataGridView1.DataMember = "Clientes"
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Sub
333 Neste código estamos obtendo o valor da célula pelo índice da linha (e.RowIndex) e da coluna
334 (e.ColumnIndex).
335 Se desejar obter valor da primeira coluna quando o usuário selecionar uma linha o código
336 ficaria assim :
End Sub
338 Para atribuir a célula atual via código podemos atribuir um valor a propriedade CurrentCell
339 do DataGridView . No código abaixo estou atribuindo a célula atual como sendo a primeira
340 linha e a segunda coluna ( row=0 e column=1)
End Sub
344 No exemplo acima iremos efetuar a validação da coluna CompanyName para isso devemos
345 implementar o tratamento dos eventos CellValidating e CellEndEdits.
346 O evento CellValidating ocorre quando a célula perde o foco de entrada habilitando a
347 validação do seu conteúdo.
348 O evento CellEndEdits ocorre quando o modo de edição é encerrado para a atual célula
349 selecionada.
350 No evento CellValidating é onde você determina se o valor de uma célula para um
351 determinada coluna é válida. Se a validação da célula falha defina a propriedade Cancel da
352 classe System.Windows.Forms.DataGridViewCellValidatingEventArgs para true. Isto faz com
353 que o controle DataGridView não permita que o cursor deixe a célula.
354 Definindo a propriedade ErrorText na linha para exibir uma mensagem para o usuário exibe
355 um ícone de erro com uma dica que contém o texto para o erro.
356 No evento CellEndEdit defina a propriedade ErrorText na linha para uma string vazia. Este
357 evento ocorre somente quando a célula existe no modo edit o qual não pode ocorrer se a
358 validação falhar.
359 No exemplo vamos verificar se a coluna CompanyName esta vazia para a entrada do usuário:
364 A seguir temos um exemplo que quando ocorrer um valor para o campo CustomerID duplicado
365 em uma nova linha ou linha sendo editada o evento DataError irá ocorrer e será tratado pela
366 exibição de uma mensagem que descreve o erro.
' Se a fonte de dados levanta uma exceção quando uma célula esta comitda
exibe um erro.
If e.Exception IsNot Nothing AndAlso e.Context =
DataGridViewDataErrorContexts.Commit Then
MessageBox.Show("O código do cliente - CustomerID - não pode ser
duplicado.")
End If
End Sub
372 Se a fonte de dados do controle DataGridView possuir uma coluna com imagens , elas serão
373 exibida automaticamente exibidas no controle DataGridView.
378 Nota: Para este exemplo você deve criar um TableAdapter para a tabela Customers. Para
379 fazer isso inclua um novo DataSet no projeto e arraste a partir da janela DataBase Explorer a
380 tabela Customers do banco de dados Northwind.mdb.
381 Você deverá declarar os seguintes namespaces no projeto para que o código abaixo funcione:
388 No código acima o objeto DataView permite aos usuário incluir novas linhas , via propriedade AllowNew no
389 controle DataGridView e também excluir linhas , via propriedade AllowDelete.
390 Podemos ainda ordenar as linhas especificando o campo e a ordem correspondente que será aplicada usando a
391 propriedade Sort. (ASC ordem ascendente DESC ordem descendente)
392 O filtro é feito pela expressão SQL usando a expressão LIKE via propriedade RowFilter.
393 Uma outra maneira de ordenar colunas é usar o método Sort do próprio controle DataGridView:
DataGridView1.Sort(DataGridView1.Columns(0),
System.ComponentModel.ListSortDirection.Descending)
End Sub
394 O código esta ordenando pela primeira coluna do componente (Columns(0)) usando a ordem
395 descendente.
402 Para isto eu vou usar o o evento CellFormatting que ocorre quando o conteúdo de uma célula
403 precisa ser formatado para exibição.
404 A tabela Customers não possui um campo muito adequado para um exemplo mais convincente
405 ,vou usar portanto o campo City de e escolher algumas cidades de forma que exibam o nome
406 do pais a qual pertençam. O código é o seguinte:
413 Se você não quiser usar um controle BindingSource pode incluir os itens diretamente no
414 controle DataGridViewComboBoxColumn :
End Sub
415
416 Se você deseja permitir que os usuários possam incluir novos valores no controle ComboBox.
417 Neste caso você terá que fazer o seguinte :
418
419 1-) Usar o evento EditingControlShowing que ocorre quando o usuário vai tentar editar dados
420 no controle Combobox:
421
Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As
System.Windows.Forms. DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
441 Se você esta começando agora a aprender o VB 2005 e tem dúvidas em como criar uma
442 aplicação para acesso a dados que realize as tarefas de incluir, exclui, alterar e listar os
443 dados esta pequena agenda feita no Visual Basic 2005 é exatamente o que você procura:
444 simples , com código sem complicações , realizando as principais tarefas de manutenção (as
445 famosas operações CRUD).
453 Vamos usar um banco de dados do Microsoft Access que foi criado com o nome de
454 Agenda.mdb e que possui a tabela Contatos contendo a seguinte estrutura:
455 A aplicação terá apenas dois formulários: o formulário principal que é mostrado abaixo:
456
457 Os namespaces usados na aplicação são:
458
459 Imports System.Data.OleDb
460 Imports System.io
461 Imports System.drawing
462 O banco de dados esta localizado na pasta bin e possui a seguinte definição para a conexão do
463 tipo OledbConnection :
466 As operações CRUD (Create, Update, Delete) são feitas via comandos SQL :
System.Diagnostics.Process.Start("http://www.macoratti.net")
End Sub
468 A cara da projeto em execução para exibição dos dados de um registro é a seguinte :
469 Como estou disponibilizando o código completo creio que já escrevi demais. Baixe os fontes e
470 bom estudo...
471 VB 2005 - Criando uma classe para acesso a dados
472
473 É uma prática recomendável criar uma camada de acesso a dados e encapsular o seu código.
474 Você ganha em produtividade e facilita a manutenção.
475 A seguir apresento algumas sugestões de classes com código de acesso a dados que você pode
476 usar em seus projetos.
477 Abra o Visual Basic 2005 Express e crie um projeto do tipo Windows Application onde serão
478 criadas as classes.
479 No menu Project clique na opção Add Class e na janela Add New Item selecione o template
480 Class informando o nome acessoBD. Será criado o arquivo acessoBD.vb onde podemos criar
481 as nossas classes para acesso a dados. Neste arquivo podemos criar uma ou várias classes.
482 Começamos criando a classe AcessoBD com um construtor vazio e outro construtor onde
483 definimos a string de conexão. O método getConexao retorna a conexão aberta e o método
484 closeConexao fecha a conexão;
Nota: O modelo de configuração de formulário (Configuration Forms) não esta disponível em
projetos Class Library pois não temos um arquivo App.Config para a DLL.
Para ler o arquivo de configuração App.Config em sua aplicação VB 2005 , e exibir o resultado no
console , você pode usar o seguinte código:
486 Vamos criar a seguir dois métodos sobrecarregados onde poderemos passar o nome de um
487 procedimento armazenado - Stored Procedure - com parâmetros e no outro uma instrução
488 SQL retornando um DataReader:
489 Veremos a seguir um exemplo de como usar as classes acima em um formulário Windows
490 Forms.
491 Aproveitando o mesmo projeto onde criamos a classe AcessoBD inclua no formulário form1.vb
492 um controle ListBox e um botão de comando. No evento Click do botão de comando inclua o
493 seguinte código:
End Sub
495 Vamos agora criar um método que retorna um DataSet e que recebe o nome da stored
496 procedure , o nome do DataTable a ser preenchido e a coleção de parâmetros:
497 Para usar o exemplo acima irei acessar o banco de dados Northwind.mdf e usar a stored
498 procedure CustOrderHist existente. Esta stored procedure possui o parâmetro @CustomerID
499 que deve ser informado para o método juntamente como valor de retorno desejado. O
500 DataTable retornado irá ser exibido em um controle DataGridView no formulário;
501 Nota: A stored procedure CustOrderHist possui o seguinte código:
'define um dataset
Dim ds As New DataSet
503 Executando o projeto para a stored procedure CustOrderHist e o cliente ALFKI iremos obter:
504 Note que a classe definida efetua o acesso ao banco de dados SQL Server e que eu não efetuei
505 um tratamento de exceção nas mesmas. Deixo esta tarefa para você (dica: você pode apenas
506 lançar a exceção (throw ex) ). Você pode criar mais métodos ou adaptar os métodos
507 definidos ao seu projeto.
508 VB.NET 2005 - Conectando com objetos de dados
509
510 Este artigo apresenta como criar objetos para gerenciar informações de negócios e em
511 seguida mostra como criar um objeto como fonte de dados para estes objetos. Mostra
512 também como usar TableAdapters para obter dados a partir de um banco de dados e
513 preencher os objetos de dados.
514 O objeto da fonte de dados é criado pela execução do assistente de configuração de fonte de
515 dados selecionando como tipo de dados a opção Object. Depois de completar o assistente as
516 propriedades públicas do objeto estarão disponíveis na janela Data Source para que você
517 possa efetuar a vinculação dos objetos com controles em formulário Windows.
529 Você possui um banco de dados que contém uma tabela chamada Clientes e deseja criar uma
530 aplicação Windows, usando o VB 2005, para gerenciar os seus dados através da criação de
531 objetos de negócio que representam os Clientes. Deseja também poder exibir em um
532 formulário os dados desta tabela e também preencher os seus objetos de dados com os dados
533 do banco de dados.
534 Nota: Não importa qual seja o seu banco de dados desde que haja um provedor através do
535 qual possamos efetuar uma conexão com ele. Neste artigo eu vou usar o banco de dados
536 Microsoft Access.
537 Na figura abaixo temos a estrutura da tabela Clientes do banco de dados Vendas.mdb :
539 Abra o Visual Basic 2005 Express Edition e crie um novo projeto do tipo Windows Application
540 chamado vendasNetObjetos;
541 2- Criando os objetos de Negócio : Clientes e Pedidos
542 Vamos criar agora os objetos de negócio que irão representar as informações da tabela
543 Clientes.
545 Na janela Add New Item selecione o template Class e informe o nome Clientes.vb clicando a
546 seguir no botão Add;
clienteID_ = clienteID
nome_ = nome
endereco_ = endereco
End Sub
End Class
548 A classe Clientes possui como membros os campos definidos na tabela Clientes. Além disso
549 estamos sobrescrevendo a função ToString para poder exibir o nome do cliente seguido do
550 seu código.
551 Neste ponto já temos a classe Clientes.vb pronta. Ela representa os dados da tabela Clientes.
555 • Abra a janela Data Sources clicando no menu Data e escolhendo a opção Show Data
556 Sources;
557
558 • Clique no link Add new Data Source;
559 • Na janela Choose a Data Source Type selecione a opção Object e clique em Next;
560
561 • Na janela Select the Object You Wish do Bind To , expanda o nó vendasNetObjetos e
562 selecione a classe Clientes;
563
566 • Finalmente clique no botão Finish e você verá o objeto Clientes na janela Data
567 Sources;
568
576 Ao final do processo você verá os controles serem criados no formulário bem com o objeto
577 ClientesBindingNavigator para navegação e o objeto ClientesBindingSource para vinculação
578 dos controles com a fonte de dados.
584 • A partir do menu Data, selecione a opção Add New Data Source;
585 • Selecione a opção DataBase e clique em Next> ;
586 • Na janela para escolher a conexão de dados clique no botão New Connection e na
587 janela Add Connection selecione o Data Source Microsoft Access DataBase File e
588 selecione o caminho onde o banco de dados esta localizado(no nosso caso
589 c:\dados\Vendas.mdb)
590 • Clique no botão Next> ;
591
595
596 Neste momento será criado o dataset VendasDataSet e exibido na janela Data Sources
597 contendo a tabela Clientes;
598
602
603 Se executarmos o projeto neste momento qual será o resultado ? Veja abaixo o resultado
604 obtido:
605
606 Como você pode notar embora tenhamos os objetos criados e as instâncias do dataset e do
607 tableAdapter também criados falta mover os dados da tabela clientes para os controles
608 vinculados no formulário. Para isso teremos que criar uma rotina em nosso projeto para
609 carregar os dados nos objetos usando o TableAdapter.
With clienteAtual
.clienteID = clientesLinha.clienteID
.nome = clientesLinha.Nome
If Not clientesLinha.IsEnderecoNull Then
.endereco = clientesLinha.Endereco
End If
End With
ClientesBindingSource.Add(clienteAtual)
Next
End Sub
616 Para chamar a rotina criada inclua uma chamada à mesma no evento Load do formulário
617 form1:
618 Agora ao executar o projeto o formulário irá exibir os dados permitindo a navegação pelos
619 registros:
620
621 Eu removi os botões para incluir, excluir e alterar os dados visto que não implementei estas
622 funcionalidades no projeto. Isso fica como um melhoramento que você pode fazer e que em
623 artigos futuros estarei abordando.
624
625
626