VB.NET 2008 - Criando uma aplicação completa de acesso a dados
Este é um tutorial para iniciantes.
Se você não se considera um iniciante e já sabe como usar os assistentes para criar um banco de dados, tabelas, campos, definir campos, índices , chaves primárias , datasets , conexões e formulários vinculados a dados pode interromper a leitura neste ponto.
Se você esta começando agora, não sabe nada disso e pretende usar o Visual Basic 2008 Express Edition como sua ferramenta de aprendizado você esta no lugar certo. Continue a leitura e aproveite...
Criando uma aplicação completa com o Visual Basic 2008 Express e seus assistentes de configuração é , como diria o dito popular: "Mel na chupeta".
Se você deseja aprender Visual Basic , esta começando agora , e pretende usar o VB 2008 Express Edition (o mesmo é válido para o Visual Studio 2008 que é uma ferramenta mais completa mas que vai lhe custar um bom pulado de dolares...) então arregace as mangas e prepare o mouse pois , como você vai verificar nesta primeira parte, não vai digitar uma única linha de código sequer e vai criar um formulário para cadastrar , alterar, excluir e navegar pelos registros de uma tabela apenas usando os assistentes.
O que você pode esperar desse tutorial ?
Esse tutorial tem o objetivo de mostrar como usar as seguintes técnicas:
- Criar banco de dados ,
tabelas , campos , índices e definir chave primária no SQL
Server 2005 Express;
- Criar uma conexão com o banco de dados;
- Criar DataSets;
- Criar formulários com dados vinculados com operações
básicas CRUD - Create , Update e Delete;
Do que você vai precisar para começar ?
Você vai ter que possuir uma conexão com a internet para efetuar o download das ferramentas usadas neste curso.(Se você não possuir uma conexão pode adquirir o CD do curso que contém todas as ferramentas prontas para instalar)
Fazendo o download das ferramentas:
1 - Faça o download do Visual Basic 2008 Express Edition - VB 2008 Express
Ele é grátis e após o download você deve se registrar para validar a sua ferramenta e obter algumas ferramentas adicionais
2 - Faça o download do SQL Server 2005 Express Edition - SQL Server 2005 Express
Após instalar as duas ferramentas você esta pronto para iniciar e acompanhar o curso.
Começando pelo começo : Criando uma aplicação Windows completa.
Abra o seu Visual Basic 2008 Express Edition e crie um novo projeto da seguinte forma:
ou
Será apresentada a janela new Project , selecione o template Windows Forms Application e informe o nome: appCompleta1;
Será criado um novo projeto e na janela Solution Explorer você verá o formulário form1.vb criado por padrão;
Vamos criar o banco de dados que será usado na aplicação. Vamos fazer isso no próprio IDE do VB 2008;
No menu Data selecione a opção Add New Data Source...;
Na janela - Data Source Configuration Wizard - selecione a opção Database;
Na janela Data Source Configuration WIzard vamos selecionar uma nova conexão clicando no botão : New Connection...;
Na janela Add Connection vamos alterar a opção clicando no botão Change...;
Selecione a opção Microsoft SQL Server DataBase File - e clique no botão OK;
Nota: Se desejar que esta opção sempre seja oferecida marque a opção - Always use this selection
Como desejamos criar um novo banco de dados informe um nome para identificar o banco de dados. Eu usei o nome Macoratti. A seguir clique no botão OK;
A seguir clique no botão Sim para confirmar a criação do banco de dados no SQL Server 2005 Express;
O Banco de dados será apresentado na janela e você poderá visualizar a string de conexão. Para continuar clique no botão Next>;
Aqui ocorre um evento muito importante. Preste atenção... !!!
É apresentada uma janela informando que a conexão que você selecionou usa um banco de dados local que não esta no projeto atual, e, em seguida vem a pergunta: Você deseja copiar o arquivo para o projeto e modificar a conexão ?
É aqui que muitos , por não prestarem atenção, perdem noites de sono...
Veja a mensagem logo abaixo que procura esclarecer o que esta acontecendo. Leia com atenção (já traduzida) :
"Se você copiar o arquivo de dados para o seu projeto, ele será copiado para o diretório de saida (AppData) toda a vez que você rodar a aplicação."
Ora, isso significa que se você rodar a aplicação e gravar alguns dados no banco de dados da próxima vez que executar a aplicação o banco de dados será copiado para o seu projeto e dos dados serão perdidos !!! Entendeu ???
Uma pausa para explicar o que esta acontecendo...
Um arquivo de banco de dados local pode ser incluído como um arquivo em um projeto e a primeira vez que você faz a conexão da sua aplicação com o arquivo de banco de dados local você pode escolher entre criar uma cópia do banco de dados no seu projeto ou fazer a conexão com o arquivo de banco de dados existente na localização original onde foi criado.
Se você escolher que deseja se conectar com um arquivo já existente , então uma conexão será criada da mesma forma que uma conexão remota é criada e o banco de dados vai permanecer na sua localização original.
Se você escolher que deseja copiar o banco de dados para o seu projeto o Visual Basic cria uma cópia do arquivo de banco de dados e o inclui no seu projeto modificando a conexão de forma que ela agora irá apontar para o arquivo de banco de dados no seu projeto e não para a localização original do arquivo de banco de dados.
Quando você constrói o seu projeto através da opção Build, o arquivo de banco de dados pode ser copiado da pasta raiz do projeto para a pasta de saída bin (selecione a opção Show All Files na janela Solution Explorer para ver a pasta bin).
Este comportamento é configurado pela propriedade Copy to Output Directory do arquivo e depende do banco de dados que você esta usando: |
O arquivo de banco de dados na pasta raiz do seu projeto é alterado somente quando você editar o esquema do banco de dados através do Server Explorer/Database Explorer ou outra ferramenta Visual. (Visual Database Tools)
O comportamento do banco de dados depende então da configuração da propriedade Copy to Output Directory que é descrita a seguir:
Copy to Output | Comportamento | |
---|---|---|
Copy if newer (padrão para arquivos.sdf) | O banco de dados
é copiado do diretório do projeto para o diretório bin
na primeira vez que o projeto é construído(Build). Após
isso , cada vez que você constrói o projeto , a
propriedade Date Modified do arquivo é comparada e se o
arquivo no diretório do projeto é mais recente ele é
copiado para a pasta bin substituindo o arquivo lá
existente. Se o arquivo na pasta bin for mais recente o
arquivo não é copiado. Desta forma cada vez que você
roda sua aplicação faz e salva alterações nos dados ,
elas serão visíveis na próxima vez que você rodar a
aplicação.
|
|
Copy always (padrão para .mdf and .mdb) | O arquivo de banco de dados é copiado da pasta do projeto para a pasta /bin cada vez que você constrói a aplicação (Build). Cada vez que você constrói a aplicação e salva as alterações nos dados , estas mudanças são sobrescritas quando o arquivo original é copiada para a pasta /bin substituindo a cópia que você acabou de alterar. Você não vê as alterações na próxima vez que rodar a aplicação. Qualquer mudança feita nos dados na pasta de saída será sobrescrita na próxima vez que a aplicação for executada.. | |
Do not copy | O arquivo nunca é copiado ou sobrescrito pelo sistema. Como a aplicação criar uma conexão dinâmica que aponta para o banco de dados no diretório de saída , esta configuração somente funciona para banco de dados local quando você copia manualmente o arquivo você mesmo. Você terá que copiar o arquivo para a pasta de saída depois de definir esta configuração. |
Na próxima janela marque a opção para salvar a string de conexão e clique no botão Next>;
Como ainda não criamos o banco de dados vamos criar um dataset vazio informando o nome MacorattiDataSet e clicando em FInish;
Agora vamos criar a tabela. Abra o Database Explorer e clique com o botão direito do mouse sobre o objeto Table e selecione a opção Add New table;
A seguir defina três campos na tabela: clienteID , nome e email conforme abaixo. Defina também o campo clienteID como sendo a chave primária e do tipo identity;
Salve a tabela com o nome Clientes;
Clique sobre a tabela criada e na opção Show Table Data informe alguns valores conforme a figura;
Agora abra o DataSet criado e arraste a tabela Clientes para o descritor dataset;
Selecionando o formulário , form1.vb, e abrindo a janela Show Data Sources , iremos ver o dataset com os campos definidos;
Arraste o dataset Clientes para o formulário usando o modo Details e você verá a criação dos objetos BindingSource, BindingNavigator;
Pronto ! agora é só executar a aplicação para verificar que o acesso a dados foi concluída, a navegação pelos registros também esta ativa e as opções para alterar e excluir dados foram criadas com sucesso. Não foi necessário nenhuma ferramenta acional além do VB 2008 Express.
] |
Concluímos que o comportamento apresentado é o mesmo que no VB 2005 Express. As novidades no VB 2008, com relação ao acesso a dados, ficam por conta do LINQ que irei tratar em outros artigos.
Eu sei é apenas VB.NET mas eu gosto.
José Carlos Macoratti