Está en la página 1de 38

Colégio Técnico de Limeira - COTIL

Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Um Projeto em VB.NET com Banco de


Dados

Visual Basic 2005 Express e o Data Form Wizard


O Visual Basic 2005 Express Edition não tem o Data Form Wizard como o Visual Studio.
Mas há uma forma fácil de criar projetos que acessam bancos de dados. Para este
tutorial, criaremos um projeto simples de Address Book (Agenda). Os dados virão de um
Banco de Dados Access. Baixe o banco de dados antes de iniciar esta lição. Uma vez
que você salvou o banco de dados no seu computador, você pode começar.

Baixe o Banco de Dados Access a ser usado neste tutorial em:


http://www.sengi.com.br/matioli/apostilas/vb2005/Downloads/AddressBook.rar

VB.Net oferece vários meios de conectar a um banco de dados ou um data source. A


tecnologia usada para interagir com um banco de dado ou data source é chamada
ADO.NET. A sigla ADO significa Active Data Objects. De forma bem simples, podemos
dizer que a tecnologia ADO.NET é uma coleção de classes que nos permitem acessar
inúmeros sistemas de banco de dados diferentes. A tecnologia ADO é formada por cinco
classes bases:
Connection
Command
DataReader
DataSet
DataAdapter
Veremos apenas o que são estes objetos e como usá-los, nas sessões seguintes. Mas
podemos ter nossa primeira experiência como o ADO.NET criando um projeto simples de
Address Book (Agenda). Tudo que faremos é ver como usar o ADO para abrir o banco de
dados que você baixou, e navegar pelos registros que já existem nele.
Usaremos um Wizard (Assistente) para criar um programa que leia o banco de dados e
permita-nos navegar nele. O Wizard fará a maior parte do trabalho para nós, e criará os
controles que permitam aos usuários mover através do banco de dados. O Form que
criaremos se parecerá com este quando tiver terminado:

Prof. José Alberto Matioli jan-09 1/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Clicando os botões no topo, você pode navegar através do banco de dados.

Criando um Projeto de Banco de Dados


em VB .NET

Vamos começar nosso projeto de Banco de Dados. Portanto, uma vez que você tem seu
software VB aberto, faça o seguinte:
• Clique no menu File > New Project
• Selecione Windows Application, e então dê o Nome de Agenda. Clique OK
• Localize o Solution Explorer a direita da tela (se não estiver visível, clique no
menu View > Solution Explorer. Ou pressione as teclas Ctrl + R.) Você deverá
ver isto:

Prof. José Alberto Matioli jan-09 2/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

• Precisamos selecionar um Data Source. Para isso clique em Data Sources na


parte inferior do Solution Explorer.

• Para adicionar um novo Data Source, clique no Link. Quando fizer isso, você verá
uma tela de boas vindas ao Data Source Configuration Wizard, Apenas clique
Next, para ir para a tela abaixo:

Prof. José Alberto Matioli jan-09 3/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Você deseja conectar a um arquivo de banco de dados Local. Portanto selecione esta
opção, e clique Next.
No próximo passo, você deve informar o Wizard onde está seu banco de dados. Portanto
clique no botão Browse, e aponte onde se encontra, no seu computador, o banco de
dados que baixou para este tutorial. Então clique Next.
O Wizard então analizará o seu banco de dados, e apresentará suas tabelas, campos e
objetos. Se você baixou nosso banco de dados, seu Wizard deve se parecer com este:

Prof. José Alberto Matioli jan-09 4/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Clique no box Tables, e isso marcará todos os itens abaixo dele. Observe o DataSet
name: AddressBookDataSet. Você aprenderá o que é um DataSet nas próximas
sessões. Por enquanto, apenas clique o botão Finish.
Quando clicar Finish, o Wizard começará a trabalhar. Quando ele terminar, parecerá que
nada mudou. Mas observe o Solution Explorer:

Prof. José Alberto Matioli jan-09 5/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

A área Data Sources do Solution Explorer agora apresenta informações sobre o seu
banco de dados. Clique no símbolo de mais próximo a tblContacts:

Todos os Campos no banco de dados Address Book agora serão apresentados.

Prof. José Alberto Matioli jan-09 6/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Criando um Form de Banco de Dados

Na seção anterior, você viu como abrir um Data Source. Os campos do banco de dados
lhe foram disponibilizados no VB.NET. Nesta parte, veremos como construir um form
para que você possa ver e navegar através dos dados.
Na última parte, você teve a janela de Data Sources apresentada. Esta (se você não
puder vê-la, clique no menu Data. Então clique em Show Data Sources):

Para adicionar um campo ao seu Form, clique em um deles na lista. Mantenha o botão
esquerdo do mouse pressionado, e arraste-o sobre o seu form:

Prof. José Alberto Matioli jan-09 7/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Na imagem anterior, o campo Nome está sendo arrastado para o Form. Observe que o
cursor do mouse mudou.
Quando seu campo estiver sobre o Form, solte o botão esquerdo do mouse. Um textbox
e um label será adicionado. Haverá duas outras coisas, observe: aparecerá uma barra de
navegação no topo do form, e um objeto estranho aparecerá na área de objetos na parte
inferior:

Vamos explorar os Objetos nas seções seguintes. Mas observe a barra de Navegação
em azul. Execute seu programa pressionando F5. Você deverá ver isto:

Clique nas setas de Navegação para se mover pelo banco de dados. Quando tiver se
divertido com os controles, pare a execução, e retorne ao modo Design View.
Arraste e Solte mais campos para o seu form. Mas não alinhe-os ainda. Veremos uma
forma estúpidamente fácil de fazer isso. Uma vez que tiver arrastado os campos para o
seu form, ele poderá se parecer com isto:

Prof. José Alberto Matioli jan-09 8/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Tenho certeza que você concordará - este form está muito bagunçado. Mas há uma
forma muito fácil de alinhar todos os controles. Tente isto:
• Clique num Textbox com o botão esquerdo do mouse
• Pressione a tecla Ctrl e selecione um segundo TextBox
• Com a tecla Ctrl pressionada, clique cada Textbox que deseja alinhar
• Quando todos os Textboxes estiverem selecionados, clique no menu Format no
topo da tela
• No menu Format selecione Align > Lefts. O lado esquerdo dos Textboxes se
alinharam automáticamente
• No menu Format selecione Vertical Spacing > Make Equal. O espaço entre cada
textbox então será o mesmo.

O campo Obs (observação) é um campo Memo, que pode conter uma grande quantidade
de texto. Portanto mude a propriedade Multiline textbox para TRUE e redimensione o
textbox para que o texto seja apresentado em múltiplas linhas.
Com seus novos controles adicionados, bem alinhados, pressione F5 para executar o
programa. Você pode ter algo parecido com isto:

Prof. José Alberto Matioli jan-09 9/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Clique nos icones de Navegação para mover para frente e para trás através do seu
banco de dados.

Prof. José Alberto Matioli jan-09 10/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Criando seu próprio código para Banco


de Dados em VB .NET

Nesta seção, daremos uma olhada nos objetos que você pode usar para abrir e ler dados
de um Banco de Dados. Utilizaremos nosso banco de dados Access, o AddressBook, e
recriaremos o que o Wizard tinha feito. Desta forma você verá com seus próprios olhos o
que estava por trás dos panos quando utilizamos o Wizard.
Portanto, feche qualquer projeto, e crie um novo. Dê o nome que quiser ao projeto, e
mãos a obra.

O Objeto Connection
O Objeto Connection é o que você precisa se quiser conectar a um banco de dados. Há
inúmeros objetos connection diferentes, e o que você vai usar depende do tipo de banco
de dados que estiver conectando. Como vamos conectar a um banco de dados access,
precisaremos de um objeto de conexão chamado OLE DB
OLE é abreviação de Object Linking and Embedding, e ele é basicamente um conjunto
de objetos (objetos COM) "empacotados" que lhe permitem conectar a data sources em
geral, e não apenas a bancos de dados. Você pode usá-lo, por exemplo, para conectar
arquivos textos, SQL Server, email, e muito mais.
Há diferentes objetos OLE DB (chamados data providers), mas o que usaremos se
chama "Jet". Outros são SQL Server e Oracle.
Agora coloque um botão no seu form. Mude a propriedade Name para btnLoad. Dê um
duplo clique no botão para abrir a janela de código. Adicione a seguinte linha de código:
Dim con As New OleDb.OleDbConnection
Se estiver usando Visual Baisc 2005 Express Edition, você pode ver uma linha de
sublinhado aparecer na linha de código. Isso é porque você precisa primeiro adicionar
uma referência ao Objetos de Dados. Faça assim:
• Clique no menu Project
• Então clique Add Reference
• Da caixa de diálogo, selecione a guia .NET. Role para baixo e selecione o item
System.Data
• Clique OK.

Prof. José Alberto Matioli jan-09 11/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Bem no topo da sua janela de código, antes de Public Class Form1, digite o seguinte:
Imports System.Data
Isto permitirá que você trabalhe com vários objetos de Banco de Dados. Sua janela de
código deverá se parecer com isto:

Seja qual for a versão que você tiver, no entanto, a variável con agora contém o Objeto
Connection. Observe que há um ponto ( . ) após a parte OleDB. Você terá então, ao
digitar o ponto, uma lista de opções de onde poderá selecionar OleDbConnection. Este
é o objeto que você usa para conectar a um Banco de Dados Access.

Definindo uma String de Conexão


Há Propriedade e Método associados como o Objeto Connection, é claro. Começaremos
com a propriedade ConnectionString. Ela pode receber MUITOS parâmetros. Felizmente,
precisaremos só de alguns.
Precisamos passar duas coisas para o nosso novo Objeto Connection: a tecnologia que
pretendemos usar para fazer a conexão com o nosso banco de dados; e onde o banco
de dados está. (Se seu banco de dados for protegido por senha e nome de usuário, você
deverá adicionar estes dois parâmentros. O nosso não tem, portanto só precisaremos
passar dois parâmetros.)
A tecnologia é chamada Provider, e você usará "Data Source" para especificar onde seu
banco de dados está. Isto deve ser entrado na mesma linha, e não em duas como
mostrada abaixo. Portanto adicione esta linha ao seu código:
con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =
C:\AddressBook.mdb"
Observe as duas partes, separadas por um ponto-e-vírgula:
1a. Parte: PROVIDER=Microsoft.Jet.OLEDB.4.0
2a. Parte: Data Source = C:\AddressBook.mdb

Prof. José Alberto Matioli jan-09 12/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

A primeira parte especifica qual provedor queremos usar para fazer a conexão (JET). A
segunda parte, digitada após o ponto-e-vírgula, indica onde está o banco de dados. No
código anterior, o banco de dados estava no drive C, no diretório raiz. O nome do arquivo
Access que queremos conectar se chama AddressBook.mdb. (Observe que "Data
Source" são duas palavras, e não uma.)
Estamos assumindo que você copiou o banco de dados AddressBook para o diretório
raiz do seu drive C. Se você tiver copiado-o para outra pasta, mude a parte "Data
Source". Por exemplo, se você copiou-o para uma pasta chamada "database" você
deverá colocar isto:
Data Source = C:\databases\AddressBook.mdb
Em seu código, no entanto, ConnectionString é uma propriedade da variável con. A
variável con guarda nosso Objeto Connection. Estamos passando na Connection String
o nome do provider e o caminho para o banco de dados.

Abrindo a Conexão
Agora que temos uma Connection String, podemos prosseguir e abrir o banco de dados.
Isto é muito fácil - apenas use o método Open do Objeto Connection:
con.Open( )
Uma vez aberta, a conexão terá que ser fechada alguma hora. Neste momento, apenas
use o metodo Close:
con.Close( )
Adicione as próximas quatro linha ao seu código:
con.Open()
MsgBox("Agora um Conexão com o Banco de Dados está aberta!")
con.Close()
MsgBox("A Conexão com o Banco de Dados agora está fechada!")
Teste seu novo código executando seu programa. Clique no botão no form e duas caixas
de mensagem deverá aparecer. Se elas não aparecerem, certifique-se que seu Data
Source está correto. Se não estiver, você poderá receber esta mensagem de erro:

Prof. José Alberto Matioli jan-09 13/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

A mensagem de erro é muito vaga e não diz muita coisa ao usuário final. Mas o que ela
está dizendo é que ele, o programa, não pode encontrar o caminho para o banco de
dados, portanto ele não pode Abrir a conexão. A linha con.Open no seu código ficarã
destacada em verde. Você precisa especificar o caminho correto para o seu banco de
dados. Quando tiver feito, verá as caixas de mensagens do seu código, e não esta
mensagem enorme de erro mostra acima.
Agora que abrimos uma conexão com o banco de dados, precisamos ler as informações
dele. É aqui entram o DataSet e o DataAdapter.

Data Sets e Data Adapters


Na parte anterior, você aprendeu como setar um Objeto Connection. Este objeto é
necessário para que você possa abrir uma conexão com o Banco de Dados. Mas só isso
não basta. O dado do banco de dados precisa ser armazenado em algum lugar, para que
possamos manipulá-lo.
ADO.NET usa uma coisa chamado DataSet para guardar toda a informação do banco de
dados (você pode usar também um DataTable, se o que quiser é apenas ler as
informações, e não gravar no banco de dados). Mas o DataSet ( e Data Table) conterão
uma cópia da informação que veio do banco de dados.
O DataSet não é uma coisa que possa desenhar no seu form, como um Button ou um
Textbox. O DataSet é algo invisível para você , só existe na memória. Imagine um grid
com linhas e colunas. Cada linha imaginária do DataSet representa uma Linha de
informação em seu banco de dados Access. E cada coluna imaginária representa uma
Coluna de informação em seu banco de dados Access (que chamamos Campo).
Isto, então, é um DataSet. E o que é um Data Adapter?
O Objeto Connection e o DataSet não se "enxergam", um não "conversa" com o outro.
Eles precisam de alguém que faça a comunicação entre eles. Este intermediário é o Data
Adapter. O Data Adapter, usando seu Objeto Connection, contacta o Banco de Dados,

Prof. José Alberto Matioli jan-09 14/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

que então executa uma query que você programador definiu. Os resultados desta query
são armazenados no DataSet.
Os objetos Data Adapter e DataSet você cria deste jeito:
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
da = New OleDb.OleDbDataAdapter(sql, con)
Vamos ver o significado deste código. Primeiro o Data Adapter.

O Data Adapter
O Data Adapter é uma propriedade do objeto OLEDB, por isso o ponto entre os dois:
OleDb.OleDbDataAdapter
Nós estamos passando este objeto para a variável chamada da. Esta variável guardará
uma referência para o Data Adapter.
Enquanto na segunda linha no código acima definimos uma referência para o Data
Adapter, a terceira linha cria um novo objeto Data Adapter. Você precisa colocar duas
coisas dentro dos parênteses da declaração do Objeto: Sua string SQL (que veremos em
breve), e seu objeto connection. Nosso Objeto Connection está armazenado na variável
que chamamos de con. (Como toda variável você pode dar o nome que quiser. Demos
um nome curto e fácil de memorizar). Então você passa o New Data Adapter para sua
variável (da no nosso caso):
da = New OleDb.OleDbDataAdapter(sql, con)
Precisamos de mais alguma coisa ainda. O nome sql que está dentro do parênteses é o
nome de uma variável. Ainda não a definimos. Vamos dar uma olhada no SQL logo, logo.
Mas não se esqueça do que o Data Adapter faz: Agir como intermediário entre o
Objeto Connection e o Data Set.

Structured Query Language


SQL é abreviação de Structured Query Language, e é o meio que utilizamos para
consultar e escrever em bancos de dados (não só no Access). O básico é muito fácil de
aprender. Se você quiser "pegar" todos os registros de uma tabela no banco de dados,
você usa a palavra SELECT. Desse jeito:
SELECT * FROM Nome_Tabela
SQL não é case sensitive, portanto a linha acima pode ser escrita assim também:

Prof. José Alberto Matioli jan-09 15/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Select * from Nome_Tabela

Mas suas declarações SQL serão mais fáceis de ler se você digitar as palavras-chave em
letras maiúsculas. As palavras-chave nas linhas acima são SELECT e FROM. O
asterisco significa "Todos os Registros". Nome_Tabela é o nome de uma tabela no seu
banco de dados. Assim podemos ler a linha toda assim:
"SELECT todos os registros FROM tabela chamada Nome_Tabela"
Nem sempre você precisará selecionar todos ( * ) os registros do seu banco de dados.
Você pode selecionar apenas as colunas que você precisa. O nome da tabela no seu
banco de dados é tblContatos. Se quiser selecionar apenas as colunas nome e
sobrenome desta tabela, podemos especificar isto na nossa string SQL:
SELECT tblContatos.Nome, tblContatos.Sobrenome FROM tblContatos
Quando esta declaração SQL é executada, apenas as colunas Nome e Sobrenome do
banco de dados será retornados:
Há muito mais comandos SQL, mas para o nosso propósito isto é suficiente.
Uma vez que queremos SELECT todos (*) registros da tabela chamada tblContatos,
passamos esta string para a variável string que chamamos de sql:
sql = "SELECT * FROM tblContatos"
Assim, adicione o seguinte código ao seu projeto de banco de dados:
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
sql = "SELECT * FROM tblContatos"
da = New OleDb.OleDbDataAdapter(sql, con)
Se estiver usando a versão 2005 Express, você pode ver um sublinhado em zig-zag sob
a palavra DataSet. Isto porque você precisa definir uma referência a alguma coisa
chamada System.Xml.dll. Para fazer isto, na barra de menu clique em Project > Add
Reference. Na guia .Net, na caixa de diálogo que aparece, role para baixo e clique em
Syste.Xml.dll. Então clique OK.
Agora que o Data Adapter selecionou todos os registros da tabela em seu banco de
dados, precisamos colocá-los em algum lugar estes registros e será no DataSet.

Preenchendo o DataSet
O Data Adapter pode Preencher um DataSet com os registros de uma Tabela. Você
precisa de apenas uma linha de código para fazer isto:

Prof. José Alberto Matioli jan-09 16/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

da.Fill(ds, "AddressBook")
Assim que tiver digitado o nome do seu Data Adapter (da para nós), você verá uma lista
de propriedades e métodos. Selecione Fill na lista, então digite um par de parênteses.
Dentro dos parêntese, você precisa de duas coisas: o Nome do seu objeto DataSet (ds,
no nosso caso), e um nome de identificação. Este nome de identificação pode ser
qualquer coisa que você quiser. Mas isso é apenas para identificar este preenchimento
do Data Adapter em particular. Poderíamos tê-lo chamado até de "Sandwich com
Bacon", se quiséssemos:
da.Fill(ds, "Sandwich com Bacon")
Este código acima também funciona. Mas é melhor usarmos nomes mais curtos e mais
descritivos que "Sandwich com Bacon"!
Adicione uma nova linha após a criação do Data Adapter:
da = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(ds, "AddressBook")
É isto. O DataSet (ds) agora será preenchido como os registros que selecionamos da
tabela chamada tblContatos. Há apenas um pequeno problema - ninguém pode ver os
dados ainda!

Apresentando os Data no DataSet

Na seção anterior, vimos o que são Data Adapters e DataSets. Criamos um Data Adapter
para que ele pudesse preencher um DataSet com registros do nosso Banco de Dados. O
que queremos fazer agora é apresentar os registros num Form, para que as pessoas
possam vê-los. Portanto faça isto:
• Adicione dois textoboxes ao seu form
• Altere a propriedade Name de seus textboxes para txtNome e txtSobrenome
• Volte para a sua janela de código
• Adicione as duas linhas a seguir:

txtNome.Text = ds.Tables("AddressBook").Rows(0).Item(1)
txtSobrenome.Text = ds.Tables("AddressBook").Rows(0).Item(2)
Você pode adicioná-los após a linha que fecha a conexão com o banco de dados. Uma
vez que tiver sido preenchido o DataSet, a conexão com o banco de dados pode ser
fechada.

Prof. José Alberto Matioli jan-09 17/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Antes de comentarmos o código, execute seu programa e clique no botão. Você deverá
ver "John Smith" apresentado em seus dois textboxes.
Agora, varmos examinar o código que atribui os dados do DataSet aos textboxes. A
primeira linha foi esta:
txtNome.Text = ds.Tables("AddressBook").Rows(0).Item(1)
O queremos aqui é atribuir o conteúdo de um campo da tabela do banco de dados a um
textbox. Portanto após o sinal de igual, você digitou o nome do seu DataSet (ds para
nós). Após um ponto, selecionou Tables na lista que apareceu. A propriedade Tables
precisa de algo entre os parênteses e não é o nome de uma tabela no seu banco de
dados. Ele é o identificador que você usou com o Data Adapter Fill. Usamos o
identificador "AddressBook". Se você tivesse usado "Sadwich com Bacon" então
faríamos assim:
ds.Tables("Sandwich com Bacon")
Mas nós não usamos, portanto nosso código é:
ds.Tables("AddressBook")
Digite um ponto e você verá outra lista ser apresentada. Selecione Rows desta lista.
Entre parênteses terá que colocar um número. Este é o número de uma linha (Row) do
DataSet. Nós queremos a primeira linha, a qual é a linha zero no DataSet:
ds.Tables("AddressBook").Rows(0)
Digite um ponto após Rows(0) e uma lista aparecerá novamente. Para identificar uma
coluna (Column) do DataSet, você usa Item. Dentro dos parênteses, você digita qual
coluna você quer:
ds.Tables("AddressBook").Rows(0).Item(1)
No nosso banco de dados Access, coluna zero é usada para um campo ID. A coluna
Nome é a segunda coluna no nosso banco de dados Access. Como a coleção
(collection) Item é inciada em zero, a coluna que queremos é o item 1 no DataSet.
Você pode também se referir ao nome da coluna pelo próprio nome dela, ao invés de um
número. Assim você faria:
ds.Tables("AddressBook").Rows(0).Item("Nome")
ds.Tables("AddressBook").Rows(0).Item("Sobrenome")
Se você pegar o nome da coluna errada, então o VB gerará um erro. Uma imagem pode
ajudar a clarear as coisas. A imagem a seguir mostra quais os items e rows há no banco
de dados.

Prof. José Alberto Matioli jan-09 18/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

A imagem mostra quais são as Rows e quais são os Items na tabela do banco de dados
Access. Vemos que os Items estão na vertical e Rows estão na horizontal.
Porém, nós queremos ser capazes de navegar através da tabela. Queremos poder clique
um botão e ver o próximo registro. Ou clicar outro botão e ver o registro anterior. Você
pode fazer isso incrementando o numero de Row. Para ver o próximo registro,
poderíamos fazer isto:
txtNome.Text = ds.Tables("AddressBook").Rows(1).Item(1)
txtSobrenome.Text = ds.Tables("AddressBook").Rows(1).Item(2)
O próximo registro então será:
txtNome.Text = ds.Tables("AddressBook").Rows(2).Item(1)
txtSoome.Text = ds.Tables("AddressBook").Rows(2).Item(2)
Portanto incrementando e decrementando o número de Row, você pode navegar através
dos registros.

Navegando em um Banco de Dados com


VB .NET
Você viu na seção anterior que você pode navegar através dos registros de um banco de
dados incrementando e decrementando o número da linha (Row) do DataSet. Nesta

Prof. José Alberto Matioli jan-09 19/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

seção, veremos um exemplo mais prático de como isso pode ser feito. É melhor você
começar um novo projeto para isso. Com um novo form aberto, faça o seguinte:
• Adicione dois Textboxes. Altere a propriedade Name para txtNome e
txtSobrenome
• Adicione quatro Buttons. Altere as propriedade Name e Text para estas:

Button Name Button Text


btnProximo Próximo Registro
btnAnterior Registro Anterior
btnPrimeiro Primeiro Registro
btnUltimo Último Registro

Quando tiver feito, seu form deverá se parecer com isto:

Pressione F7 para ver sua janela de código, e adicione o seguinte código na área
Declarações do Form1:

(Usuários do VB 2005 Express Edition: não se esqueçam de adicionar a referência!


Clique Project > Add References. Localize System.Data.dll e System.Xml.dll na guia
.NET. Selecione estes itens e clique OK. Então adicione Imports System.Data bem no
topo da sua janela de código.) Seu sódigo deve se parecer com isto:

Prof. José Alberto Matioli jan-09 20/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Tudo que você fez até aqui foi setar as variáveis que precisaremos. Há uma para o
Objeto Connection, uma para o DataSet, e uma para o Data Adapter. Também setamos
duas variáveis Integer (inc e MaxRows), e uma variável string (sql).
Quando o Form é carregado, podemos conectar nosso banco de dados, usar o Data
Adapter para pegar alguns registros do banco de dados, e então colocar estes registros
no DataSet. Assim no evento Form1_Load, adicione o seguinte código:

Você já conhece todo código, exceto estas duas linhas:

Prof. José Alberto Matioli jan-09 21/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

MaxRows = ds.Tables("AddressBook").Rows.Count – 1
If MaxRows >= 0 then
inc = 0
else
inc = -1
end if
navigaterecords( )
Na variável MaxRows, podemos armazenar quantas linhas há no DataSet. Você obtém a
quantidade de linhas no seu DataSet com Rows.Count:
MaxRows = ds.Tables("AddressBook").Rows.Count - 1
Como vemos, a propriedade Rows tem um método Count. Ele simplesmente conta
quantas linhas há no DataSet. Estamos atribuindo este número para uma variável
chamada MaxRows. Note que decrementamos em 1, pois como os dados no DataSet é
armazenado em forma de array, o primeiro elemento será o zero e o último será o
número de registros menos um.
A variável inc começará com 0, se houver registros no BD, ou –1 se o BD estiver vazio.
Este valor, -1, será verificado na hora de apresentar os dados para saber se tem dado a
ser apresentado.
Você poderá então testar o que há na variável, e ver se o contador inc não foi
ultrapassado. Você precisa fazer isso porque o VB gera uma mensagem de erro se tentar
ultrapassar a última linha do DataSet. (Versões anteriores do VB tinha as propriedades
EOF e BOF, que checavam se havia atingido o End of File (fim do arquivo) e Begin of
File (inicio do arquivo). Essas propriedades não existem mais.)
Para navegar através dos registros, vamos usar a variável inc. Somaremos, ou
subtrairemos, 1 dela. Então usaremos a variável em Rows no DataSet. É melhor fazer
uma subrotina para esse propósito. Assim adicione esta Sub ao seu código:
Private Sub NavigateRecords()
If inc>=0 then
txtNome.Text = ds.Tables("AddressBook").Rows(inc).Item(1)
txtSobrenome.Text = ds.Tables("AddressBook").Rows(inc).Item(2)
else
msgbox(“Não há registros!”)
end if
End Sub

Prof. José Alberto Matioli jan-09 22/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

A parte importante é Rows(inc). Isto move através das Linhas/Registros no DataSet e


então coloca os valores nos dois Textboxes.
O código completo deve se parecer com isto:

Prof. José Alberto Matioli jan-09 23/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Programando os Botões para a


Navegação

Como Mover para o Próximo Registro


Dê um duplo clique no botão Próximo Registro para acessar o código. Adicione a
seguinte declaração If ... Else.
If inc <> MaxRows Then
inc = inc + 1
NavigateRecords()
Else
MsgBox("Não há mais registro")
End If
Estamos checando para ver se o valor de inc não atingiu o valor de MaxRows. Se eles
forem iguais então saberemos que atingiu o último registro no DataSet. Neste caso,
apenas apresentaremos uma caixa de mensagem. Se eles forem diferentes, estas duas
linhas serão executadas:
inc = inc + 1
NavigateRecords()
Primeiro, incrementamos o contador inc em 1. Então chamamos a Sub que definimos na
lição anterior:
NavigateRecords()
Nossa Subrotina é onde a ação acontece, e os valores do DataSet são colocados nos
textboxes.
Aqui está ela novamente:
Private Sub NavigateRecords()
If inc>=0 then
txtNome.Text = ds.Tables("AddressBook").Rows(inc).Item(1)
txtSobrenome.Text = ds.Tables("AddressBook").Rows(inc).Item(2)
else
msgbox(“Não há registros!”)
end if

Prof. José Alberto Matioli jan-09 24/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

End Sub
A parte que move para o próximo registgro é esta:
Rows(inc)
Antes, tínhamos colocado este código estático:
Rows(0)
Agora o valor está vindo da variável chamada inc. Uma vez que estamos incrementando
esta variável via programação, o valor será alterado a cada vez que o botão for clicado. E
assim um registro diferente será apresentado.
Você pode testar o botão Próximo Registro. Execute o programa e clique no botão. Você
deverá agora ser capaz de mover através do DataSet. Quando você atingir o fim, deverá
ver uma caixa de mensagem dizendo "Não há mais regisgtro".
Nenhum dos outros botões funcionarão ainda, é óbvio. Agora vamos mover para o
Anterior.

Como Mover para o Registro Anterior


Para mover para trás no DataSet, precisamos decrementar o contador inc. Ou seja,
subtrair 1 da variável inc sempre que o usuário clicar no botão Registro Anterior.
Mas precisamos também checar se inc não passou de zero, que é o primeiro registro no
DataSet. Aqui está o código a ser adicionado a btnAnterior:
If inc > 0 Then
inc = inc – 1
NavigateRecords()
Else
MsgBox("Primeiro Registro")
End If
Portanto a declaração If verifica se inc é maior que zero. Se for, é subtraido 1 de inc.
Então é chamada a subrotina NavigateRecords( ). Se inc for zero ou menos, então
apresentamos uma mensagem.
Quando tiver terminado de adicionar o código, teste seu programa. Clique no botão
Registro Anterior primeiro.

Prof. José Alberto Matioli jan-09 25/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Como Mover para o Último Registro no DataSet


Para saltar para o último registro no DataSet, você precisa apenas saber quantos
registros foram carregados no DataSet - a variável MaxRows no seu código. Você pode
então setar o contador inc para aquele valor. Aqui está o código para adicionar ao seu
btnUltimo:
If inc <> MaxRows Then
inc = MaxRows
NavigateRecords()
End If
Dentro da declaração If, estamos atribuindo ao contador inc MaxRows, então chamando
a subrotina NavigateRecords( ).
Isso é tudo que precisamos fazer. Agora execute seu programa. Clique o botão Último
Registro, e você deverá ver o último registro ser apresentado em seus textboxes.

Como Mover para o Primeiro Registro no DataSet


Mover para o primeiro registro é muito fácil. Precisamos apenas atribuir zero ao contador
inc, se ele já não estiver com este valor. Então chame a Sub:
If inc <> 0 Then
inc = 0
NavigateRecords()
End If
Adicione o código ao seu btnPrimeiro. Execute seu programa e teste todos os botões.
Você deverá ser capaz de mover através dos nomes no banco de dados, e saltar para o
primeiro e último registros.
Bom, muito bom. Mas ainda não temos como adicionar novos registros, alterar registros,
ou excluí-los. Veremos isso na próxima lição.

Prof. José Alberto Matioli jan-09 26/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Adicionar, Atualizar e Deletar Registros


Na última seção, você aprendeu como navegar entre os registros em seu DataSet, e
como apresentar os registros em Textboxes no seu form. Nesta lição, veremos como
adicionar registros, como deletá-los e como atualizar um registro.
Antes de iniciarmos a codificação destes novos botões, é importante entendermos que o
DataSet está desconectado do banco de dados. Isso significa que se você estiver
adicionando um novo registro, você não estará adicionando-o ao banco de dados: você
está adicionando-o ao DataSet! Similarmente, se você estiver atualizando ou deletando,
você estará fazendo isso no DataSet, e NÃO no banco de dados. Após ter feito todas as
alterações, você ENTÃO submete estas alterações ao banco de dados. Você faz isso
executando um comando em separado.
Você precisará adicionar mais alguns botões ao seu form - cinco ao todo. Altere a
propriedade Name dos novos Botões para:
btnAddNew
btnCommit
btnUpdate
btnDelete
btnClear
Altere a propriedade Text dos botões para "Adicionar Novo Registro", "Gravar
Alterações", "Alterar Registro", "Excluir Registro", e "Limpar/Cancelar". Seu form
deve se parecer com isto:

Prof. José Alberto Matioli jan-09 27/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Começaremos como o botão Alterar Registro.

Alterando um Registro
Para acessar uma coluna em particular (item) numa linha do DataSet, o código é este:
ds.Tables("AddressBook").Rows(2).Item(1)
Isto deve retornar o conteúdo do item 1 na Linha 2.
Assim como retorna um valor, você pode também setar um valor. Você faria assim:
ds.Tables("AddressBook").Rows(2).Item(1) = "Jane"
Agora Item 1 Linha 2 conterá o texto "Jane". Isto, porém, não afetará o banco de dados!
As alterações só serão feitas no DataSet. Para ilustrar isto, adicione o seguinte código ao
seu btnUpdate:
ds.Tables("AddressBook").Rows(inc).Item(1) = txtFirstName.Text
ds.Tables("AddressBook").Rows(inc).Item(2) = txtSurname.Text
MsgBox("Registro alterado")
Execute seu programa. "João" deve ser apresentado no seu primeiro textbox, e "Silva" no
segundo textbox. Clique dentro dos textboxes e altere de "João" para "Jonas" e de "Silva"

Prof. José Alberto Matioli jan-09 28/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

para "Souza". (sem as aspas). Agora clique no botão Alterar Registro. Mova para o
próximo registro clicando no botão Próximo Registro, e então mova de volta para o
primeiro registro. Você deverá ver que o primeiro registro agora é "Jonas Souza".
Feche seu programa, então execute novamente. Ele ainda terá "João Silva". O dado que
você alterou foi perdido! Isto porque:
"A alterações foram feitas no DataSet, e não no Banco de Dados"
Para atualizar o banco de dados, você precisa de algum código a mais. Adicione isso ao
seu código (as linhas que estão vermelho)
Dim cb As New OleDb.OleDbCommandBuilder(da)
ds.Tables("AddressBook").Rows(inc).Item(1) = txtFirstName.Text
ds.Tables("AddressBook").Rows(inc).Item(2) = txtSurname.Text
da.Update(ds, "AddressBook")
MsgBox("Registro alterado")
A primeira nova linha é esta:
Dim cb As New OleDb.OleDbCommandBuilder(da)
Para atualizar o banco de dados propriamente, você precisa de algo chamado Command
Builder. O Command Builder construirá uma string SQL para você. Entre os parênteses,
você digita o nome do seu Data Adapter, da no nosso caso. O Command Builder é então
armazenado numa variável, a qual foi chamada de cb.
A segunda nova linha é onde a "coisa" acontece:
da.Update(ds, "AddressBook")
A variável da está armazenando seu Data Adapter. Um dos método do Data Adapter é o
Update. Entre os parênteses, você precisa fornecer o nome do seu DataSet (ds, para
nós). A parte "AddressBook" é opcional. Ele é o nome que demos ao nosso DataSet, e
podemos utilizá-lo para evitar qualquer confusão.
O Data Adapter então contactará o banco de dados. Através do Command Builder, o
Data Adapter pode então atualizar seu banco de dados com os valores do DataSet.
Sem o Command Builder, no entanto, o Data Adapter não pode executar o trabalho.
Tente fazer isso: comente a linha que cria o Command Builder (coloque um apóstofro
antes do "D" de Dim). Execute seu programa novamente, e então tente alterar um
registro. Você receberá esta mensagem de erro:

Prof. José Alberto Matioli jan-09 29/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

O erro é porque você não tem um command builder - um Comando Update Válido.
Apague o comentário da linha que cria o Command Builder e a mensagem de erro
desaparecerá.
Você deve agora ser capaz de fazer as alterações diretamente no banco de dados (se o
arquivo de banco de dados não estiver Read Only).
Teste-o. Execute seu programa, e altere um dos registros. Clique o botão Alterar
Registro. Então feche o programa, e execute-o novamente. Você deverá ver suas novas
alterações apresentadas nos textboxes.

Prof. José Alberto Matioli jan-09 30/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Como Adicionar um Novo Registro

Adicione um Novo Registro


A inclusão de um novo registro é ligeiramente mais complexa. Primeiro, você precisa
adicionar uma nova Linha no DataSet, então submeter a nova Linha ao banco de dados.
Mas o botão Adicionar Novo Registro no nosso form é bem simples. A única coisa que
ele faz é desativar outros botões, e limpar os textboxes, preparando para uma nova
entrada. Aqui está o código para o botão Adicionar Novo Registro:
btnCommit.Enabled = True
btnAddNew.Enabled = False
btnUpdate.Enabled = False
btnDelete.Enabled = False
txtNome.Clear()
txtSobrenome.Clear()
txtNome.Focus( )
Assim três botões são desativados quando o botão Adicionar Novo Registro é clicado,
e um é ativado. O botão que é ativado é o botão Gravar Alterações. A propriedade
Enabled de btnCommit é setado para True (verdade). Mas, para isso funcionar, você
precisa setá-la para False quando o formulário é carregado. Assim, retorne ao seu Form.
Clique em btnCommit para selecioná-lo. Então localize a propriedade Enabled na caixa
de propriedades. Defina-a para False. Quando o Form for carregado, o botão será
desativado.
O botão Limpar/Cancelar pode ser usado para reverter o processo de ligar/desligar
botões. Assim adicione este código ao botão btnClear:
btnCommit.Enabled = False
btnAddNew.Enabled = True
btnUpdate.Enabled = True
btnDelete.Enabled = True
inc = 0
NavigateRecords()
Estamos desligando o botão Gravar Alterações, e ativando os outros três. As outras
duas linhas apenas se certificam de que apresentaremos o primeiro registro novamente,
após o botão Limpar/Cancelar ser clicado. Caso contrário os textboxes ficarão todos em
branco.

Prof. José Alberto Matioli jan-09 31/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Para adicionar um novo registro ao banco de dados, usaremos o botão Gravar


Alterações. Portanto dê um duplo clique no botão btnCommit para acessar seu código.
Adicione o seguinte:
Dim cb As New OleDb.OleDbCommandBuilder(da)
Dim dsNewRow As DataRow

dsNewRow = ds.Tables("AddressBook").NewRow()
dsNewRow.Item("FirstName") = txtFirstName.Text
dsNewRow.Item("Surname") = txtSurname.Text

ds.Tables("AddressBook").Rows.Add(dsNewRow)
da.Update(ds, "AddressBook")
MsgBox("Novo registro adicionado ao banco de dados")
btnCommit.Enabled = False
btnAddNew.Enabled = True
btnUpdate.Enabled = True
btnDelete.Enabled = True

O código foge um pouco ao que estamos habituado, mas detalharemos a seguir para
entendê-lo melhor.
Primeiro setamos um Command Builder, como já fizemos antes. A próxima linha é esta:
Dim dsNewRow As DataRow
Se você quiser adicionar uma nova linha no seu DataSet, você precisará de um objeto
DataRow. Esta linha simplesmente define uma variável chamada dsNewRow. A variável
é do tipo DataRow.
Para criar um novo objeto DataRow, utilizamos a linha a seguir:
dsNewRow = ds.Tables("AddressBook").NewRow()
Estamos dizendo, "Crie um Novo Objeto no DataSet AddressBook, e armazene-o na
variável chamada dsNewRow." Como você pode ver, NewRow() é um método de
ds.Tables. Use este método para adicionar linhas ao seu DataSet.
Os valores que queremos armazenar nas linhas vem dos textboxes. Para isso temos
estas duas linhas:
dsNewRow.Item("Nome") = txtNome.Text
dsNewRow.Item("Sobrenome") = txtSobrenome.Text
O objeto dsNewRow que criamos tem uma propriedade chamada Item. Esta é como a
propriedade Item que você usou antes. Ela representa uma coluna no seu DataSet.
Poderíamos ter escrito assim, ao invés da forma anterior:

Prof. José Alberto Matioli jan-09 32/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

dsNewRow.Item(1) = txtNome.Text
dsNewRow.Item(2) = txtSobrenome.Text
A propriedade Item está agora usando o número de índice das colunas do DataSet, ao
invés dos nomes das colunas. O resultado é o mesmo, ou seja: armazenar novos valores
nesta propriedades. Estamos armazenando o texto dos textboxes em nossa nova Row.
Agora precisamos apenas chamar o método que adiciona a Linha ao DataSet:
ds.Tables("AddressBook").Rows.Add(dsNewRow)
Para adicionar a linha, use o método Add da propriedade Rows do DataSet. Dentro dos
parênteses, você precisa fornecer o nome do seu objeto DataRow (a variável
dsNewRow, no nosso caso).
Você já deve saber o que o resto do código faz. Aqui está a próxima linha:
da.Update(ds, "AddressBook")
Novamente, estamos apenas usando o método Update do Data Adapter. O resto do
código apenas apresenta uma caixa de mensagem, e reseta o botão.
Racapitulando, para adicionar uma nova linha (Row) em um DataSet:
• Crie uma variável DataRow
• Crie um Objeto desta variável usando o método NewRow() da propriedade
Tables do DataSet
• Atribua valores a Items na nova linha
• Use o método Add do DataSet para adicionar a nova linha

Um pouco mais complicado do que estamos acostumado, mas funciona. Teste seu
programa. Clique no botão Adicionar Novo Registro. Os textboxes devem ficar em
branco, e três botões serão desativados. Entre com novo Nome e Sobrenome, e então
clique no botão Gravar Alterações. Você deve ver uma caixa de mensagem dizendo que
um novo registro foi adicionado ao banco de dados. Para ver o novo registro, pare o
programa, e execute-o novamente. O novo registro estará lá.

Prof. José Alberto Matioli jan-09 33/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Deletar um Registro de um Banco de


Dados

Deletando Registros de um Banco de Dados


O código para deletar um registro é um pouco mais fácil que o último. Dê um duplo-clique
no botão btnDelete e adicione o seguinte código:
Dim cb As New OleDb.OleDbCommandBuilder(da)
ds.Tables("AddressBook").Rows(inc).Delete()
MaxRows = MaxRows - 1
If MaxRows >= 0 Then
inc = 0
Else
inc = -1
End If
NavigateRecords()
da.Update(ds, "AddressBook")
Você já aprendeu a maioria disso antes. Primeiro definimos um Command Builder. Então
acrescentamos esta linha:
ds.Tables("AddressBook").Rows(inc).Delete()
Exatamente como há um método Add da propriedade Rows do DataSet, há também um
método Delete. Você não precisa informar nada dentro dos parênteses, desta vez.
Especificamos qual linha queremos deletar com:
Rows(inc)
A variável inc está informando qual linha em particular estamos posicionados. Quando o
método Delete é chamado, é esta linha que será deletada.
Porém, ela será deletada apenas do DataSet. Para deletar a linha correspondente do
banco de dados, novamente fazemos isso:
da.Update(ds, "AddressBook")
O Command Builder, em conjunto com o Data Adapter, cuidará de deletar. Tudo o que
você precisa fazer é chamar o método Delete do Data Adapter.
A linha MaxRows no código apenas deduz 1 da variável. Isto apenas para sincronizar o
número de linha no DataSet com o número que temos guardado na variável MaxRows.

Prof. José Alberto Matioli jan-09 34/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Também resetamos a variável inc para zero ou menos um, e chamamos a subrotina
NavigateRecords(). Isto significa que após deletar um registro, voltaremos a apresentar
o primeiro registro.
Teste o programa. Clique o botão Próximo Registro algumas vezes para mover para o
registro a ser excluido. Então clique o botão Excluir Registro. O registro será excluido
do DataSet E do banco de dados. O registro que será então apresentado será o primeiro.
Outra coisa que você pode fazer é apresentar uma caixa de mensagem perguntando ao
usuário se ele realmente que excluir este registro.
Aqui está o resultado:

Para fazer isso no seu programa, adicione o seguinte código no início código do botão
btnDelete:
If MessageBox.Show("Tem certeza que deseja Excluir este Registro?", _
"Excluir", MessageBoxButtons.YesNo, _
MessageBoxIcon.Warning) = DialogResult.No Then
MsgBox("Operação Cancelada")
Exit Sub
End If
As três primeiras linhas de código são na verdade uma linha. O sublinhado foi usado para
quebrar as linhas, para ajustar à largura desta página.
Estamos usando uma nova função de caixa de mensagem:
MessageBox.Show()
Dentro dos parênteses, especificamos a mensagem a apresentar, seguida por um título
para a caixa de mensagem. Então temos isso:
MessageBoxButtons.YesNo
Você não precisa decorar tudo; pode apenas selecionar as opções desejadas de uma
lista. O que essa opção faz é apresentar os botões Yes e No (Sim e Não) na sua caixa de
mensagem.
Após digitar uma vírgula, selecionamos o ícone MessageBoxIcon.Warning da lista de
opções.

Prof. José Alberto Matioli jan-09 35/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Mas você precisa checar qual botão o usuário clicou. Isto é feito com isto:
= DialogResult.No
Novamente, você selecionou de uma lista. Queremos checar se o usuário clicou no botão
No (Não). Isto significa que o usuário mudou de idéia, e não quer Excluir o registro. Um
valor No será retornado, o qual estamos checando na declaração IF.
O código para a delcaração IF propriamente é este:
MsgBox("Operação Cancelada")
Exit Sub
Isto apresentará outra caixa de mensagem para o usuário. E o mais importante, a
subrotina será abandonada: nós não queremos que o resto do código de Exclusão seja
executado se o usuário clicar no botão No.
Isto já basta para nossa introdução a programação para banco de dados. Você não viu
apenas como criar um programa que acesse banco de dados usando o Wizard, mas
como escrever código para fazer isso. Há ainda muita coisa sobre programação para
banco de dados, mas nosso curso é para iniciantes, portanto ficaremos por aqui.

Prof. José Alberto Matioli jan-09 36/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Um Projeto de Banco de Dados em VB


.NET
Termine o programe que você vinha desenvolvendo. No momento, você apresenta
apenas o Nome e Sobrenome. Adicione textboxes para que os seguintes campos do
banco de dados sejam apresentados:
FirstName
Surname
Address1
Address2
Address3
Postcode
Phone
Email
Notes
Quando você tiver terminado, seu form poderá se parecer com isto (mas se sinta a
vontade para melhorar o design):

Prof. José Alberto Matioli jan-09 37/38


Colégio Técnico de Limeira - COTIL
Depto. De Informática
Introdução ao Microsoft Visual Basic 2005

Quando o programa tiver completo, um usuário deverá ser capaz de fazer o seguinte:
• Navegar através dos registros de um em um (para frente e para trás)
• Saltar para o último registro
• Saltar para o primeiro registro
• Alterar um registro
• Adicionar um novo registro
• Excluir um registro
• Cancelar a operação de adição de um novo registro

NÃO use o Assistente (Wizard) para este projeto. Escreva seu próprio código. Há
bastante coisa a fazer, mas lhe dará uma boa prática.

Prof. José Alberto Matioli jan-09 38/38