Acesso ao MS SQL Server com Visual Basic

Propaganda
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
OBJETIVOS DA AULA:
•
•
•
Fazer uma breve introdução a respeito do MS SQL Server 7.0;
Criar uma pequena base de dados no MS SQL Server 7.0;
Elaborar uma aplicação em Visual Basic que manipule a base de dados criada através do
MS SQL Server 7.0.
APLICAÇÕES PRÁTICAS:
Que tipos de aplicações necessitam realizar um acesso a Banco de dados?
O acesso a Banco de dados é necessário em todas as aplicações onde se faz necessário manter
dados armazenados para futura reutilização. Qualquer tipo de cadastro é um exemplo típico, tais
como cadastro de clientes, fornecedores, produtos etc.
Um dos pré-requisitos para a utilização de uma base de dados é que ela seja independente das
aplicações que as manipulem. Na prática isto quer dizer que um mesmo cadastro de cliente, por
exemplo, pode ser manipulado por diferentes aplicações, sejam elas desenvolvidas em Visual
Basic, Delphi, Java, C ou qualquer outra. Esta aula irá apresentar como uma aplicação em
Visual Basic pode ser criada para acessar uma base de dados criada pelo MS SQL Server 7.0.
DEFINIÇÕES:
O MS SQL Server é um sistema de gerenciamento de Banco de dados cliente/servidor de alto
desempenho com alta integração com o Windows NT, atualmente sendo muito adotado como
solução corporativa (esta é uma definição da Microsoft).
É importante informar que o MS SQL Server é um sistema muito complexo, porém vamos nos
focar somente na criação da base de dados.
CRIANDO UMA BASE DE DADOS:
Para se criar uma base de dados no MS SQL Server pode ser utilizado o SQL Server
Enterprise Manager. Para executá-lo acesse o menu Iniciar / Programas / Microsoft SQL
Server 7.0 / Enterprise Manager, indicado com o seguinte ícone :
.
Antes de começar a criação de uma base de dados é importante lembrar que é preciso que os
componentes do servidor de dados sejam inicializados com o Service Manager. O Service
Manager é o que conecta o computador com a base de dados do SQL Server e geralmente é
inicializado automaticamente durante o processo de boot. É possível identificar se o Service
Manager está carregado observando seu ícone na barra de tarefas. Este ícone pode apresentar
dois estados:
=> Service Manager Iniciado
=> Service Manager Não Iniciado
Caso não exista esse ícone na barra de tarefas, é possível acessa-lo através do menu Iniciar /
Programas / Microsoft SQL Server 7.0 / Service Manager. Caso ele não esteja ativado, é só
clicar no botão Start/Continue. Veja a tela do Service Manager:
Página 1
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
Tendo a certeza de que o Service Manager está ativo, pode-ser retornar ao Enterprise
Manager para iniciar a criação da base de dados. O Enterprise Manager apresenta a seguinte
tela:
A interface do Console (Microsoft Management Console), interno a tela do Enterprise
Manager, é idêntica ao do Windows Explorer. Contém uma árvore mostrando uma série de
itens e um painel de detalhes contendo informações sobre o item selecionado na árvore. Há
várias pastas contendo componentes relativos as tarefas do servidor, mas a única que nos
interessa no momento é a pasta que contém as bases de dados chamadas de Databases. É nesta
pasta que estão as bases de dados já criadas e é nela também que criamos as novas.
As bases de dados que já estão nesta pasta foram criadas automaticamente com a instalação do
MS SQL Server e são utilizadas para o controle interno, conforme a descrição seguinte:
master => esta base de dados contém os dados necessários para o SQL Server controlar suas
operações como processos, configurações, contas de usuários, etc.
Página 2
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
model = > esta base de dados é um modelo que o SQL Server utiliza para criar novas bases de
dados. Quando uma base é criada, é feita uma cópia desse modelo para essa base levando as
tabelas e os outros objetos do sistema.
msdb => armazena as informações necessárias para o gerenciamento das tarefas do componente
Data Transformation Services (DTS) que é utilizado para a importação e exportação para
diversas fontes de dados, cópias de segurança, etc.
tempdb => é uma base destinada a armazenar temporariamente tabelas, procedimentos, etc.
Northwind e pubs => são exemplos de bases de usuário, ou seja, contém dados que podem ser
alterados e excluídos com fins de estudo.
Como exemplo de criação de uma base de dados, será criada uma base chamada Cadastro
contendo a tabela de Funcionários contendo a seguinte estrutura:
Funcionários
Nome do campo
FuCodigo
FuNome
FuCargo
Tipo de dados
Texto
Texto
Texto
Tamanho
3
50
25
Requerido
Sim
Sim
Sim
PROCEDIMENTOS PARA CRIAÇÃO DA BASE DE DADOS:
Realize os seguintes procedimentos:
1. No Enterprise Manager selecione o item Databases. Clique com o botão direito do mouse
sobre ele e selecione a opção New Database... , a seguinte tela será mostrada:
Página 3
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
2. Digite o nome da base de dados (Cadastro) em Name e clique no botão Ok. A base de dados
será criada e já poderá ser visualizada na árvore. Expandindo-o, pode-se notar uma série de
subitens, o segundo deles é Tables e refere-se às tabelas de dados.
PROCEDIMENTOS PARA CRIAÇÃO DA TABELA FUNCIONARIOS:
Realize os seguintes procedimentos:
1. Observe que clicando sobre o subitem Tables da base de dados Cadastro pode-se notar uma
série de tabelas já criadas, essas são as tabelas de sistema. Com o item Tables selecionado,
clique com o botão direito do mouse sobre ela e escolha a opção New Table.
2. Uma caixa de diálogo será aberta para que se informe o nome da tabela a ser criada. Digite
Funcionários e depois clique em Ok. A tabela será criada e uma nova janela será mostrada, a
chamada Design Table. Construa a tabela da seguinte maneira, conforme mostra a figura
seguinte:
Para determinar que o campo seja uma chave primária, clique com o botão direito do mouse ao
lado esquerdo da coluna Column Name referente ao campo que se deseja criar a chave primária
e selecione Set Primary Key, ou clique no botão
da barra de ferramentas.
DESCRIÇAO DAS PROPRIEDADES DOS CAMPOS:
Column Name => Nome do campo da tabela
Datatype => Tipo de dado que o campo irá armazenar
Length => Tamanho do campo
Allow Nulls => se marcado permite valores nulos para o campo
Default Value => determina um valor padrão que já é colocado ao campo cada vez que um
registro novo é adicionado.
Identity => se marcado, indica que o SQL Server deverá gerar um numero automaticamente
implementando o valor da coluna.
Identity Seed => permite estabelecer um valor inicial para o campo. O incremento iniciará a
partir desse numero caso a propriedade Identity esteja marcada.
Identity Increment => permite definir um valor de incremento para o campo caso a
propriedade Identity esteja marcada.
TIPOS DE DADOS UTILIZADOS PARA A PROPRIEDADE DATATYPE:
tinyint => corresponde ao tipo byte do MS Access e suporta inteiros entre 0 e 255.
smallint => valor inteiro compreendido entre -32,768 e 32,767.
int => valor inteiro compreendido entre -2.147.483.648 e 2.147.483.647.
Página 4
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
smalldatetime => data compreendida entre 01/01/1900 e 06/06/2079 com precisão de horário
de 1 minuto.
datetime => data compreendida entre 01/01/1753 e 31/12/9999 com precisão de horário de 3,33
milissegundos.
char => suporta até 8.000 caracteres
nchar => suporta até 4.000 caracteres
varchar => suporta até 4.000 caracteres
nvarchar => suporta até 4.000 caracteres
text => suporta até 2.147.483.647 caracteres
DIGITANDO DADOS NA TABELA:
Selecione a tabela Funcionarios, clique com o botão direito do mouse sobre ela e escolha a
opção Open Table / Return all rows. A seguinte janela será mostrada:
Realize o cadastramento de alguns registros para que você possa visualizá-los através do Visual
Basic.
CONSTRUINDO A APLICAÇÃO COM O VISUAL BASIC:
Nos procedimentos a seguir será mostrado um exemplo bem simples de como acessar uma base
de dados do SQL Server através do Visual Basic. Siga os procedimentos seguintes:
1. Inicie um novo projeto no VB. Para conectar a aplicação ao banco de dados será utilizado um
componente chamado ADO Data Control que é bem parecido com o componente Data,
inclusive suas propriedades são praticamente as mesmas, entretanto, possui um modo de
conexão com a base de dados do SQL Server. No lugar de um DBGrid será utilizado um
DataGrid, compatível com o ADO. Para que esses dois componentes estejam disponíveis
acesse o menu Project / Components e marque os itens: Microsoft ADO Data Control 6.0
(OLEDB) e Microsoft DataGrid Control 6.0 (OLEDB) conforme a figura seguinte. Depois
clique em Ok. Os novos componentes se tornarão disponíveis na barra de ferramentas.
Página 5
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
2. Adicione um ADO Data Control e um DataGrid no formulário. Construa o formulário de
acordo com a seguinte figura.
DataControl (Adodc)
DataGrid
3. Para conectar o DataControl a base de dados do MS SQL Server faça o seguinte:
a)Clique na propriedade ConnectionString do DataControl e a seguinte tela será mostrada:
Página 6
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
b) Selecione a opção Use Connection String e clique no botão Build. Uma nova tela será
mostrada para que se escolha o tipo de conexão. Na guia Provider selecione Microsoft OLE
DB Provider for SQL Server e depois passe para a guia Connection. Uma outra tela surgirá
para que selecione a base de dados:
c) Digite o nome do servidor onde está à base de dados do SQL Server ou simplesmente o
selecione. Se você não souber o nome do servidor poderá digitar (local), nome default para o
servidor Local. Caso a base de dados possua uma determinada senha de acesso, digite o login e a
senha para o acesso a essa base de dados. Para facilitar será utilizada a opção Use Windows NT
Integrated security onde não é necessário especificar senha alguma.
d) Selecione a opção Select the database on the Server e no combo abaixo escolha a base de
dados a ser conectada, no caso Cadastro. Clique no botão Test Connection para testar a
conexão. Se tudo estiver certo aparecerá uma mensagem de sucesso na conexão. Clique em Ok
e a string de conexão será criada.
4. Agora que o DataControl já está conectado a base de dados Cadastro, basta determinar a
tabela com qual ele irá trabalhar. Selecione a propriedade RecordSource do DataControl. Na
tela que surgir, em Command Type escolha a opção adCmdTable e logo abaixo selecione a
tabela desejada que no caso é a tabela de Funcionarios. Clique no botão Ok e a conexão com a
tabela já estará pronta.
5. Aponte a propriedade DataSource do DataGrid e dos Texts para o DataControl (Adodc1).
Aponte cada propriedade DataField de cada Text para seu campo correspondente na tabela
Funcionarios.
6. insira os códigos do programa conforme as descrições seguintes.
a) No evento Load do Form1 coloque os seguintes comandos:
Command1.Enabled = True
Command2.Enabled = False
Página 7
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
Command3.Enabled = True
b) No evento Click do botão Adicionar coloque os seguintes comandos:
Adodc1.Recordset.AddNew
Text1.SetFocus
Command1.Enabled = False
Command2.Enabled = True
Command3.Enabled = False
c) No evento Click do botão Excluir coloque os seguintes comandos:
If Adodc1.Recordset.RecordCount > 0 Then
If MsgBox("Deseja realmente excluir este funcionário?", 4) = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MovePrevious
End If
End If
End If
d) No evento Click do botão Gravar coloque os seguintes comandos:
On Error GoTo Trata
If (Text1.Text = "") Or (Text2.Text = "") Or (Text3.Text = "") Then
MsgBox ("Preencha corretamente os campos!")
Exit Sub
End If
Adodc1.Recordset.Update
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = True
Exit Sub
Trata:
Select Case Err.Number
Case -2147217873 'erro ao gravar na base de dados
MsgBox "Funcionário já cadastrado!"
Adodc1.Recordset.CancelBatch 'cancela o processo de gravação
Adodc1.Recordset.MoveFirst
Command1.Enabled = True
Command2.Enabled = False
Command3.Enabled = True
End Select
Com os códigos apresentados você terá um pequeno cadastro em Visual Basic com acesso ao
SQL Server.
RESUMO DA AULA:
Pudemos nesta aula conhecer o funcionamento básico do sistema MS SQL Server, focalizando a
sua utilização para a criação de bases de dados.
Vimos o exemplo de uma aplicação simples desenvolvida em Visual Basic para acessar a base
de dados criada pelo MS SQL Server. Para acessar a base de dados conhecemos dois
Página 8
Criação de uma base de dados em MS SQL Server e acesso com VB 6.
Professor Sérgio Furgeri
componentes do Visual Basic que foram inseridos na aplicação chamados: ADO Data Control
(usado para a conexão com a base de dados) e DataGrid Control (um grid usado para apresentar
os dados na aplicação).
EXERCÍCIO:
Para você melhor fixar os conceitos apresentados na aula, elabore uma outra tabela qualquer, de
produtos, por exemplo, e realize os mesmos procedimentos mostrados no exemplo. A seguir
modifique a aplicação em VB para que ela manipule a nova tabela criada.
PARA PENSAR E DISCUTIR:
•
•
Você acha que o usuário percebe alguma diferença na execução de uma aplicação, caso
ela esteja acessando uma base MS ACCESS em relação a uma base MS SQL Server?
Justifique sua resposta.
Você é capaz de citar algumas vantagens e desvantagens de se utilizar uma base de dados
com o SQL Server?
Página 9
Download