• Nenhum resultado encontrado

ConectandoaoBancodeDados

N/A
N/A
Protected

Academic year: 2021

Share "ConectandoaoBancodeDados"

Copied!
26
0
0

Texto

(1)

Conexão da aplicação Java com o

banco de dados

(2)

CRIANDO UM BANCO DE DADOS E DEFININDO

A CONEXÃO:NO ACCESS:

Abra o Access, e crie um banco de dados em branco e salve-o

com o nome estoque

crie uma pasta com o nome bancoDados, dentro da pasta

Estoque (pacote Java que estamos trabalhando – localize a

pasta NetBeansProjects

Conexão da aplicação Java com o

banco de dados

(3)

Em seguida, crie a tabela contendo os campos

relacionados ao formulário Sistema de Cadastro de

Clientes. (Sugestão: crie no Modo Design).

Salve a tabela com o nome cadastro.

campos: código - autonumeração – chave-primária,

empresa – 40,

endereço – 50,

cidade – 20,

Conexão da aplicação Java com o

banco de dados

(4)

Inserir alguns registros completos na tabela criada

(pelo menos 5 registros completos).

Salve a tabela e Feche o Access.

Conexão da aplicação Java com o

banco de dados

(5)

Diferentemente de outros banco de dados

(PostgreSql, SQl, MySql, Firebird, Oracle e

DB4Object), com o Access não precisaremos instalar

o driver

Conexão da aplicação Java com o

banco de dados

(6)

Abra o Painel de Controle – Ferramentas Administrativas – Fontes de

Dados (ODBC) –

Clique em Adicionar – Selecione Microsoft Access Driver (*.mdb) – Nome

da fonte de dados: estoque – Descrição: Sistema de Cadastro de

Clientes(ou outro que vc considerar) –

Em Selecionar, localize a pasta criada dentro do Projeto do NetBeans e

escolha o banco de dados criado (

estoque.mdb

).

Observe que o banco de dados estoque foi inserido com sucesso na janela

Fonte de dados de usuário.

Conexão da aplicação Java com o

banco de dados

(7)

Conexão da aplicação Java com o

banco de dados

Agora vamos criar um arquivo que fará a

(8)

Conexão da aplicação Java com o

banco de dados

Botão direito sobre o projeto Estoque – Novo –

Arquivo Java vazio (Java empty File) – nome

da classe: conexao – e em Pacote: utilitarios

-Finalizar.

(9)

Conexão da aplicação Java com o

banco de dados

package utilitarios;

import java.sql.*;

//bibliotecas que possibilitam efetuar conexão com banco de dados e

//executar comandos SQL lá dentro

import javax.swing.*;

public class conexao //

{

final private String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;

//foi criada a variável driver do tipo String privada e constante (final) que não

//poderá ser alterada, que armazenará o driver

final private String url = “jdbc:odbc:

estoque

”;

//a variável url (igual a variável driver) estará armazenando a fonte ou origem

// de dados

(10)

Conexão da aplicação Java com o

banco de dados

private Connection conexao;

//o objeto criado conexao é do tipo Connection, responsável por efetuar

//a conexão propriamente dita com o banco de dados e é privado

//só poderá ser usada dentro dessa classe

public Statement statement;

//o objeto criado statement é do tipo Statement que é o responsável por

//abrir caminho até o local do banco de dados e é pública (todas as classes

//podem acessá-la

public ResultSet resultset;

//o objeto criado resultset é do tipo Resultset que é o responsável por

//armazenar os resultados dos comandos SQL (se tivermos cinco clientes

// ficarão armazenados neste resultset)

(11)

Conexão da aplicação Java com o

banco de dados

Agora precisamos criar um método que irá efetuar a conexão

com o banco de dados.

Ele precisará ser público, pois terá que ser acessado de outras

classes e também precisamos implementar no código de

modo que, ao tentar efetuar uma conexão, ele retorne se

conseguiu ou não efetuar a conexão com o banco de dados.

(12)

Conexão da aplicação Java com o

banco de dados

TRATAMENTO DE ERROS (EXCEÇÕES):

Criar um método para conexão com o banco de dados dentro da Classe

Conexao.

O Método terá que ser público, pois será acessado de outras classes

(Fornecedores, Cidades, etc).

O tipo de dados será booleano (true or false), pois quando se efetuar uma

conexão deverá ser repassado ao usuário se conseguiu ou se não

conseguiu conectar com o banco de dados.

(Incluir o seguinte código: final private String usuario = “”; e final private

(13)

Conexão da aplicação Java com o

banco de dados

TRATAMENTO DE ERROS (EXCEÇÕES):

Importante:

Em Java, o tratamento de erros é essencial, pois às vezes o código não

funciona. Isso também é por conta da segurança que a linguagem Java

exige. Assim, todo código que apresenta a possibilidade de erros ou falhas

deve ser tratado. Nesse exemplo, usou-se a estrutura try... catch.

(14)

Conexão da aplicação Java com o

banco de dados

TRATAMENTO DE ERROS (EXCEÇÕES):

O código que pode gerar uma exceção ou erro é colocando dentro do bloco

try.

Se o erro/exceção ocorrer, o bloco catch entra em ação para fazer o

tratamento do erro. Ex:

try{

// código que pode provocar erros

}

catch(Tipo_Exceção nome){

// tratamento do erro

(15)

Conexão da aplicação Java com o

banco de dados

public boolean conecta()

{

boolean result = true;

//criamos uma variável de nome result do tipo booleano(só recebe false/true),

// que foi inicializada como verdadeira (true)

try

//vai tentar efetuar alguma coisa e se não der certo, ele vai para o tratamento

//de erro (catch - )

{

Class.forName(driver);

//classe com o método forName vai tentar carregar o driver, conforme

// digitado na primeira linha do código

conexao = DriverManager.getConnection(url, usuario, senha);

//Se for carregado o driver correto, passa-se para a conexão. O objeto

//conexao, do tipo Connection(2ª. linha), vai receber um método

//getConnection, da classe DriverManager,

//Assim, vai ser passada por parâmetro a fonte de dados de jdbc:odbc:estoque

//para a variável url, assim como usuário e senha

(16)

Conexão da aplicação Java com o

banco de dados

catch(ClassNotFoundException Driver)

{

//tratamento de erro no caso de não conseguir carregar o driver, da seguinte linha:

// “Class.forName(driver);”

//a variável criada Driver acima recebe o erro

JOptionPane.showMessageDialog(null,“Driver não localizado: ”+Driver);

result = false;

//será mostrada uma janela ao usuário com a mensagem acima + o erro

//e a variável result receberá “false” e a aplicação, nesse caso, daria erro

(17)

Conexão da aplicação Java com o

banco de dados

catch(SQLException Fonte)

{

//caso o programa passe pelo carregamento do driver e dê erro na segunda linha:

// “conexao = DriverManager.getConnection(url, usuario, senha);”

//tratamento de erro no caso de não se conectar a fonte de dados,

//a variável criada Fonte recebe o erro

JOptionPane.showMessageDialog(null,“Deu erro na conexão com a fonte de dados: ”+Fonte);

result = false;

//será mostrada uma janela ao usuário com a mensagem acima + o erro

//e a variável result receberá “false” e a aplicação, nesse caso, daria erro

}

return result;

(18)

Conexão da aplicação Java com o

banco de dados

DESCONECTAR COM O BANCO DE DADOS:

Já vimos como criar a classe para efetuar a conexão com o banco de dados.

Como criar um método para a conexão propriamente dita.

Agora vamos criar um método para desconectar com o banco de dados.

No momento em que fechamos um formulário, queremos que ele feche também aquela

conexão para que ela não fique aberta.

(19)

Conexão da aplicação Java com o

banco de dados

No método conecta(), usou-se o public boolean porque queríamos um retorno (return result;), para

dar seguimento à aplicação

No método desconecta(), não será preciso retorno nenhum e fecha o banco de dados.

public void desconecta()

{

boolean result = true;

try

{

conexao.close();

JOptionPane.showMessageDialog(null,“banco de dados fechado”);

}

catch(SQLException fecha)

{

JOptionPane.showMessageDialog(null,“Não foi possível fechar o banco de

dados: ”+fecha);

(20)

Conexão da aplicação Java com o

banco de dados

CRIAR UM MÉTODO PARA OS COMANDOS SQL:

public void executeSQL(String sql)

//o método acima é generalizado (executeSQL), pois no momento em que for chamado de

//uma outra classe será passado um parâmetro (String sql) para ele saber o que

// queremos que ele execute (inserir/ excluir no banco, atualização, consulta, etc)

{

try

{

statement = conexao.createStatement();

//o statement cria uma ligação com o banco de dados e executa comandos sql

resultset = statement.executeQuery(sql);

//o resultset que é o lugar onde ficarão armazenados os dados da nossa

//tabela, irá, através da ligação statement, executar através do método

(21)

Conexão da aplicação Java com o

banco de dados

catch(SQLException sqlex)

//tratamento de erro no caso de não conseguir fazer a ligação com o banco

//a variável sqlex vai armazenar o erro

{

JOptionPane.showMessageDialog(null,“Não foi possível executar o comando sql,”+sqlex+

“, o sql passado foi”+sql)

//vai ser mostrada uma mensagem para o usuário, onde será mostrado o erro

//e o comando sql também será mostrado, pois poderá ter erro

}

}

(22)

Conexão da aplicação Java com o

banco de dados

EFETUAR A CONEXÃO COM O BANCO DE DADOS:

Agora estamos prontos para efetuar a conexão.

(23)

Conexão da aplicação Java com o

banco de dados

1 - Selecione o formulário Sistema de Cadastro de Clientes – Código-fonte – digite os códigos

indicados:

import Utilitarios.conexao;

import java.sql.SQLException;

import javax.swing.JOptionPane;

public class cad_clientes extends javax.swing.JFrame {

conexao con_clientes;

public cad_clientes()

{

initComponents();

con_clientes = new conexao();

con_clientes.conecta();

(24)

Conexão da aplicação Java com o

banco de dados

con_clientes.executeSQL("select * from cadastro");

try//precisamos da estrutura para tratamento de exceção e manipulação de banco de dados

{

con_clientes.resultset.first();

tf_codigo.setText(con_clientes.resultset.getString("Código"));

tf_empresa.setText(con_clientes.resultset.getString("Empresa"));

tf_endereco.setText(con_clientes.resultset.getString("Endereço"));

tf_cidade.setText(con_clientes.resultset.getString("Cidade"));

….

}

catch(SQLException erro)

{

JOptionPane.showMessageDialog(null, "Não localizou dados "+erro);

}

(25)

Conexão da aplicação Java com o

banco de dados

Agora, vamos alterar o nome da variável do jComboBox de UF: cb_uf

Vamos continuar inserindo o código na aplicação:

….

(26)

Conexão da aplicação Java com o

banco de dados

Ativando os botões de navegação pelos registros do banco de dados:

O primeiro passo é renomear os botões.

Ex: botao_primeiro , botao_anterior, botao_proximo, botao_ultimo

Dessa forma fica mais fácil a identificação e o entendimento do que estamos fazendo

no código fonte.

Logo após, precisamos adicionar um evento aos botões

– Clique com o botão direito do mouse sobre eles

– Eventos – Action – actionPerformed –

Selecione o bloco try-catch e cole, por exemplo, no espaço de código do botao_proximo.

Altere a palavra reservada first para next

(Agora o bloco try-catch vai tentar capturar o próximo registro).

Execute o arquivo e verifique se está atualizando os dados.

Referências

Documentos relacionados

Além disso, é válido ressaltar o grau de instrução desses trabalhadores resgatados, pois, como se pode verificar no gráfico posterior, a maior parte desses

c) Relacionar as práticas de vida diária dos sujeitos da amostra - para a realização do exercício físico regular, no que se refere ao ajuste insulínico e ingestão de

Este trabalho tem como objetivo analisar e discutir a peça Auto da Compadecida de Ariano Suassuna como portadora de elementos culturais populares, explorando a essência

Dentre os resultados encontrados pode-se destacar a não relação entre o grau de instrução dos gestores e as práticas de contabilidade gerencial, adotadas pelas

Para o Planeta Orgânico (2010), o crescimento da agricultura orgânica no Brasil e na América Latina dependerá, entre outros fatores, de uma legislação eficiente

O presente artigo se propôs a estabelecer as bases fundamentais do Direito & Literatura e, a partir delas, examinar relevantes aspectos da obra literária “1984” de

Portanto, devido as influências da Indústria 4.0 sobre a cadeia de valor de empresas e a falta de pesquisas voltados aos pontos negativos envolvidos neste

After approximating the planting area using a plate and defining the allocation of all possible plots us- ing the AND/OR graph approach, the next step consisted of approximating