Acessando dados no SQL Server com o VB - Usando ADO DATA Control
Bem , chega de brincarmos de banco de dados usando o Access . Vamos agora usar um banco de dados de verdade. Vamos usar o SQL Server 2000. (Falei isto só pra chatear...). |
Na verdade com a popularização da Internet , o ambiente Cliente/Servidor cresce a cada dia. Embora o Access seja uma solução barata e de fácil manutenção, ele não suporta a quantidade de acessos , nem possui um sistema de segurança que um Servidor Web exige.
O bom e velho (ai, a, aiii....) Access vai continuar sendo usado ainda para aplicações domésticas, como protótipo e em pequenas aplicações. Por isso é bom desde já você começar a se familiarizar com um banco de dados que preencha todos os requisitos para ser um Servidor Web. O SQL Server 2000 preenche estes requisitos. ( Oracle, DB2, Informix, Sybase, etc...)
Introdução
O SQL Server 2000 é um banco de dados relacional compatível com a arquitetura Cliente/Servidor. Nesta arquitetura o banco de dados fica residente no Servidor - um computador central - tendo suas informações compartilhadas por diversos usuários que acessam o Servidor através de computadores locais.
A arquitetura Cliente/Servidor reduz o tráfego de rede , facilita a manutenção dos dados e permite um acesso mais rápido aos dados do que a arquitetura de aplicação Multiusuário. Abaixo um esquema da arquitetura Cliente/Servidor:
A arquitetura Cliente/Servidor para banco de dados funciona assim:
Um programa cliente envia uma solicitação (consulta, gravação, etc..) através de rede para um banco de dados centralizado em um servidor
O servidor processa a requisição e retorna o resultado ao cliente.
Quer um exemplo de arquitetura Cliente/Servidor ? Ora, não pense duas vezes : A Internet.
Iniciando com o SQL Server 2000
É claro que não faz parte do objetivo deste artigo abordar em detalhes o SQL Server 2000. Nosso objetivo será mostrar como acessar os dados em um banco de dados no SQL Server 2000. Para isto eu estou partindo do seguinte pressuposto:
Você possui o SQL Server 2000 instalado - Pode ser a versão Desktop. (É a que eu estou usando...)
Você possui noções sobre banco de dados relacionais e já sabe o que é um campo, um registro , uma tabela , um banco de dados
Você já tem noções sobre a ADO - ActiveX Data Object - pois nosso acesso será feito usando a ADO.
Eu poderia utilizar um banco de dados já presente no SQL Server 2000 (Pubs ou Northwind) , mas vou mostrar como criar um banco de dados , uma tabela , como inserir dados na tabela e somente a partir deste ponto estarei usando o VB para o acesso aos dados. Nosso roteiro será o seguinte:
1-) Criaremos um banco de dados chamado Clientes
2-) Criaremos uma tabela com o nome de Clientes
3-) Incluiremos alguns dados na tabela Clientes
4-) Acessar os dados da tabela clientes : via ADO Data Control e via código ADO.
Antes de começar você deve verificar se o SQL Server esta mesmo instalado na sua máquina. Selecione Service Manager no menu Iniciar ou clique no ícone na barra de tarefas do Windows. A janela - SQL Service Manager - deverá aparecer na sua tela. Selecione o Serviço SQL Server e clique no botão - Star/Continue.
Se tudo deu certo , você esta pronto para começar.
Criando um Banco de dados no SQl Server
O Banco de dados SQL Server 2000 e composto de vários componentes lógicos , são as tabelas , índices , visões , stored procedures , triggers , etc.
Um servidor SQL Server pode possuir vários banco de dados que por sua vez pertencem a diversos usuários. Cada instância de um SQL Server 2000 possui quatro bancos de dados de sistema : master , model , tempdb e msdb.
Um banco de dados no SQL Server pode ser entendido como uma coleção de: tabelas, visões , índices , triggers e stored procedures. Ele é composto por três arquivos:
primário (Primary file) - Permite inicializar e carregar o banco de dados
secundário (secundary file) - Existe somente se o arquivo primário não foi suficiente para manter os arquivos do sistema
log - utilizado para fazer a recuperação do banco de dados.
Vamos criar um banco de dados usando o Enterprise Manager . Para iniciar o Enterprise Manager selecione as opções: Programa|Microsoft SQL Server|Enterprise Manager.
A janela - SQL Server Enterprise Manager - ira surgir na sua tela:
Esta janela mostra no lado esquerdo uma árvore hierárquica começando nos grupos de servidores indo ate os objetos dos bancos de dados. Expanda as ramificações até obter a estrutura da figura acima e a seguir clique com o botão direito do mouse sobre o objeto Databases selecionando a opção - New Database - do menu suspenso.
Na janela - Database Properties - aba - General - informe o nome do banco de dados - Clientes - na caixa de texto Name. O Banco de dados primário - clientes_data.mdf - e o arquivo de Log - Clientes_Log.Idf são criados.
Clique na aba Data Files e veja o arquivo primário. Informe o seu tamanho Inicial como sendo de 10 Mb e deixe as opções - Automatically grow File e Unrestricted File growth selecionadas. Com isso permitimos que nosso banco de dados cresça automaticamente e sem limites.
Agora clique na aba Transaction Log e defina o tamanho do arquivo de Log com 10 Mb.
Você já pode clicar no botão OK . Com isso retornamos a janela do Enterprise Manager e já podemos ver nosso banco de dados Clientes criado no lado direito.
Criando uma Tabela no SQl Server
Uma tabela é composta de linhas e colunas; onde as linhas representam um registro da tabela e as colunas os campos.(Não pode haver duas colunas com o mesmo nome na tabela) Nossa tabela deverá conter os seguintes informações:
ID - Representa o código de cada cliente - Será um campo chave primária do tipo Inteiro.
Nome - O nome do cliente
Endereço - O endereço do cliente
Nascimento - A data de nascimento do cliente
Observacao - Alguma observação sobre o cliente
Vamos agora criar a tabela Clientes no banco de dados Clientes recém criado. Expanda a ramificação pertinente ao banco de dados Clientes e clique com o botão direito do mouse sobre o objeto Tables . A seguir selecione a opção New Table do menu suspenso.
A janela do Enterprise Manager - New Table - irá surgir na sua tela. Nesta Janela iremos definir os campos de nossa tabela. Para isto usaremos as colunas :
Column Name - O nome que vai identificar a coluna da tabela
Data Type - O tipo de dado da coluna
Lenght - Representa o tamanho da coluna. ( Muitas vezes é fixo)
Allow Nulls - Determina se a coluna aceitará valores nulos indicando se o preenchimento será obrigatório ou não.
Obs: Os tipos de dados utilizados na nossa tabela são:
Int ou Integer - Um valor numérico de 32 bits ( -2.147.483.648 a 2.147.483.648 )
VarChar - Valores alfanuméricos . Campo fixo com tamanho máximo de 8000 bytes.
DateTime - data e horário com precisão de 3.33 milisegundos ( 01 de janeiro de 1753 até 31 de dezembro de 9999)
Vamos preencher cada coluna como indicado na figura abaixo e a seguir clicar no ícone Save para informar o nome da tabela na janela Choose Name.
Após salvar a tabela , feche a janela New Table e na janela do Enterprise Manager clique sobre o objeto Tables. Você deverá ver a direita uma relação de tabelas do banco de dados Clientes. Dentre elas nossa tabela clientes está lá. ( Quando uma tabela é criada ela é colocada no FileGroup Padrão)
Bem , o banco de dados esta criado e a tabela pronta. Vamos agora inserir alguns dados na tabela. Vamos fazer isto diretamente no Enterprise Manager.
Clique com o botão direito do mouse sobre a tabela Clientes e a seguir selecione as opções Open Table | Return all rows
Agora digite os dados , conforme a figura abaixo. Lembre-se que você não precisa informar o valor para o campo ID pois o SQL atribui um valor automaticamente a este campo.
Já esta tudo pronto para a segunda parte : Acessar o banco de dados e exibir as informações da tabela.
Acessando os dados no SQL Server usando o ADO Data Control
Se você estava ansioso , espero que não fique decepcionado. Vamos usar o ADO Data control para acessar nossa base de dados Clientes criada no SQL Server 2000. Você vai ver que é mais simples do que pensa.
Inicie um novo projeto no Visual Basic e inclua o componente ADO Data Control no seu projeto. Para isso no menu Project selecione a opção Components e na janela de Diálogo marca a opção Microsoft Ado Data Control 6.0
Insira o controle no seu formulário e clique com o botão direito do mouse sobre o mesmo selecione a opção ADODC Properties do menu suspenso.
Vamos criar uma string de conexão (Connection String) para realizar uma conexão com o banco de dados clientes no sql server. Para isso clique no botão Build... e selecione o provedor OLE DB para o SQL Server - Microsoft OLE DB Provider for SQL Server e clique no botão Next>>
Na ficha Connection informe os dados para o seu servidor. Forneça nome e a forma de logon escolhida bem como o nome do banco de dados que quer acessar no servidor. Para o nosso caso essas informações são:
Server Name - MACORATI
User Name - sa ( vamos usar o usuário padrão do sql com senha em branco)
Blank Password - selecionado
Database on server - Clientes
Após inserir essas informações clique no botão Test Connection. Se a conexão estiver correta o sistema emitirá uma mensagem avisando que a conexão esta OK.
Clique no botão OK e na janela Properties Page selecione a aba RecordSource. A seguir informe a seguinte instrução SQL na caixa Command Text (SQL): Select * from Clientes . ( Estamos selecionando todos os registros da tabela clientes) para encerrar clique no botão OK.
Se você observar a propriedade Connection String do controle ADODC verá que lhe foi atribuído um valor que representa os parâmetros para uma conexão com o SQL Server para nosso caso é : Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=clientes;Data Source=MACORATI
Bem , voltamos ao formulário do projeto . Como a tabela clientes possui 5 campos vamos inserir no formulário 5 etiquetas (Label) e 5 controles TextBox. De forma que nosso formulário deverá der a seguinte aparência:
Vamos agora fazer a vinculação de cada caixa de texto com o os campos da nossa tabela Clientes de forma que o formulário possa exibir os valores nas respectivas caixas. Para isso vamos definir duas propriedades da caixa de texto: DataSource e DataField. Selecione a caixa de texto Text1 e na propriedade DataSource selecione o nosso controle Adodc1 (esta será nossa fonte de dados) ; depois na propriedade DataField selecione o campo correspondente que deseja que a caixa exiba. Repita o procedimento para as demais caixa de texto.
Agora só falta rodar o projeto . Pressione F5 e Voilá...
Na continuação deste artigo iremos mostrar como fazer o acesso com ADO via código.
Clique no link a seguir para ver a continuação deste artigo: Acessando os dados no SQL Server usando ADO via código.
Salmos 19:1 Os céus proclamam a glória de Deus e o firmamento anuncia a obra das suas mãos.
Salmos 19:2 Um dia faz declaração a outro dia, e uma noite revela conhecimento a outra noite.
Salmos 19:3 Não há fala, nem palavras; não se lhes ouve a voz.
Veja os Destaques e novidades do SUPER DVD VB (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super DVD .NET , confira... Quer aprender C# ??
Chegou o
Super DVD C# com exclusivo material de
suporte e vídeo aulas com curso básico sobre C# |
Referências: