passo a passo para criar uma tela de cadastro (utilizando ... · passo a passo para criar uma tela...

4

Click here to load reader

Upload: haliem

Post on 25-Jan-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Passo a passo para criar uma Tela de cadastro (Utilizando ... · Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access) Prof. André Silva 1) Criar a classe

Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access)

Prof. André Silva

1) Criar a classe ConnectionFactory:

package testeconexao;

import java.sql.*;

public class ConnectionFactory {

public static java.sql.Connection getConnection() throws SQLException {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

System.out.println("Conectando ao banco");

java.sql.Connection conn =

DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver

(*.mdb)};DBQ=C:/JDBC/banco.mdb");

return conn;

} catch (ClassNotFoundException e) {

throw new SQLException(e.getMessage());

}

}

}

2) Criar a classe ContatoDAO:

package testeconexao;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

public class ContatoDAO {

public java.sql.Connection connection;

public ContatoDAO() throws SQLException {

this.connection = ConnectionFactory.getConnection();

}

//METODO RESPONSAVEL POR INSERIR DADOS NA TABELA CADASTRO

public void adiciona(CadastroPojo cadast) throws SQLException {

// prepared statement para inserção

PreparedStatement stmt = (PreparedStatement)

((java.sql.Connection) this.connection).prepareStatement

("insert into cadastro(codigo,nome) values (?, ?)");

// seta os valores

Page 2: Passo a passo para criar uma Tela de cadastro (Utilizando ... · Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access) Prof. André Silva 1) Criar a classe

stmt.setInt(1, cadast.getCodigo());

stmt.setString(2, cadast.getNome());

// executa

stmt.execute();

stmt.close();

}

//METODO RESPONSAVEL POR ALTERAR DADOS NA TABELA CADASTRO

public void alterar(CadastroPojo cadast) throws SQLException {

// prepared statement para inserção

PreparedStatement sql = this.connection.prepareStatement("update cadastro set nome =

'"+cadast.getNome()+"' where codigo = "+cadast.getCodigo());

sql.executeUpdate();

}

//METODO RESPONSAVEL POR DELETAR DADOS NA TABELA CADASTRO

public void deletar(CadastroPojo cadast) throws SQLException {

PreparedStatement sql = this.connection.prepareStatement("delete from cadastro where

codigo = "+ cadast.getCodigo());

sql.executeUpdate();

}

public List selecionar(CadastroPojo cadast) throws SQLException {

PreparedStatement sql = this.connection.prepareStatement("select nome from cadastro

where codigo = "+ cadast.getCodigo());

ResultSet rs = sql.executeQuery();

//CRIA OBEJTO LISTACONTATO DO TIPO LIST RESPONSAVEL POR ARMAZENAR TODOS OS REGISTRO

QUE FOREM SELECIONADOS NO CASO 1 SO

List<CadastroPojo> listacontato = new ArrayList<CadastroPojo>();

while (rs.next()) {

//cria objeto temporario cadastro

CadastroPojo cadastro = new CadastroPojo();

//instancia o objeto

cadastro.setNome(rs.getString("nome"));

//insere dados na lista

listacontato.add(cadastro);

}

//fecha recordset

rs.close();

//fecha statement

sql.close();

return listacontato;

}

}

3) Criar o Banco de Dados:

Criar a tabela cadastro

Salvar o Banco no diretório -> C:\JDBC

Page 3: Passo a passo para criar uma Tela de cadastro (Utilizando ... · Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access) Prof. André Silva 1) Criar a classe

4) Criar a classe CadastroPojo:

package testeconexao;

public class CadastroPojo {

private int codigo;

private String nome;

public int getCodigo() {

return codigo;

}

public void setCodigo(int codigo) {

this.codigo = codigo;

}

public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}

}

5) Implentar a tela de Cadastro (evento ActionPerformed):

Botão Inserir:

try { //CRIACAO DOS OBJETOS:

CadastroPojo cadastro = new CadastroPojo();

ContatoDAO dao = new ContatoDAO();

//ENVIA DADOS PARA MINHA CLASSE CADASTRO

cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));

cadastro.setNome(jTextField2.getText());

//COMANDO QUE ADD DADOS NA TABELA:

dao.adiciona(cadastro);

//SE NAO OCORRER NENHUM ERRO A SEGUINTE MENSAGEM E EXIBIDA:

JOptionPane.showMessageDialog(null, "Registro Salvo com sucesso!");

//LIMPA OS CAMPOS

jTextField1.setText("");

jTextField2.setText("");

} catch (SQLException ex) {

Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);

}

Botão Excluir:

try {

CadastroPojo cadastro = new CadastroPojo();

ContatoDAO dao = new ContatoDAO();

cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));

cadastro.setNome(jTextField2.getText());

dao.deletar(cadastro);

JOptionPane.showMessageDialog(null, "Registro Deletado com Sucesso!");

} catch (SQLException ex) {

Page 4: Passo a passo para criar uma Tela de cadastro (Utilizando ... · Passo a passo para criar uma Tela de cadastro (Utilizando o Banco de Dados Access) Prof. André Silva 1) Criar a classe

Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);

}

Botão Alterar:

try {

ContatoDAO dao = new ContatoDAO();

CadastroPojo cadastro = new CadastroPojo();

cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));

cadastro.setNome(jTextField2.getText());

dao.alterar(cadastro);

JOptionPane.showMessageDialog(null, "Registro Alterado com Sucesso!");

} catch (SQLException ex) {

Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);

}

Botão Consultar:

String nome = null;

try {

ContatoDAO dao = new ContatoDAO();

CadastroPojo cadastro = new CadastroPojo();

if (jTextField1.getText().equals("")|| jTextField1.getText().equals(null)){

JOptionPane.showMessageDialog(null, "É necessário entrar com o código");

}else{

cadastro.setCodigo(Integer.parseInt(jTextField1.getText()));

dao.selecionar(cadastro);

List<CadastroPojo> listaCadastro = dao.selecionar(cadastro);

for (CadastroPojo cursor : listaCadastro) {

nome = (cursor.getNome());

}

jTextField2.setText(nome);

}

} catch (SQLException ex) {

Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);

}