package ConexaoBancoDeDados;
import java.sql.*;
import javax.swing.*;
public class ConexaoMySql {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/test";
String usuario = "root";
String senha = "123456";
private Connection conexao;
public Statement statement;
public ResultSet resultset;
//public boolean conecta(String driver, String url, String usuario, String senha) {
public boolean conecta() {
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null, "Conexão com o MySQL realizada com Sucesso!");
}
catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: " + Driver);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão com a fonte de dados: " + Fonte);
result = false;
}
return result;
}
public boolean desconecta() {
boolean result = true;
try
{
conexao.close();
JOptionPane.showMessageDialog(null, "Conexão com o Banco Fechada!");
}
catch(SQLException Fecha)
{
JOptionPane.showMessageDialog(null,"Não foi possível fechar o Banco de Dador" + Fecha);
result = false;
}
return result;
}
public boolean executeSQL(String sql) {
boolean result = true;
try {
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
//JOptionPane.showMessageDialog(null,"Pesquisa realizada com Sucesso!");
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possível executar o comando SQL" + sqlex +
", o SQL foi passado" + sql);
}
return result;
}
}
package CursoJava.POO;
import java.awt.event.ActionListener;
import javax.swing.*;
import ConexaoBancoDeDados.ConexaoMySql;
import java.awt.event.ActionEvent;
import java.sql.SQLException;
public class Form_Cidade extends JFrame implements ActionListener {
ConexaoMySql obj_conexao = new ConexaoMySql();
JLabel lb_codigo, lb_nome_cidade, lb_uf;
JTextField tf_codigo, tf_nome_cidade;
JComboBox jcb_uf;
JButton btn_novo, btn_salvar, btn_excluir, btn_alterar, btn_sair, btn_prox_registro, btn_ultimo_registro, btn_reg_anterior;
private int navega = 0;
Form_Cidade() {
setTitle("Formulário Cadastro");
setSize(800, 500);
setLocation(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
//TextField
tf_codigo = new JTextField(5);
tf_nome_cidade = new JTextField(45);
//JLabel
lb_nome_cidade = new JLabel("Cidade:");
lb_uf = new JLabel("UF:");
lb_codigo = new JLabel("Código");
//ComboBox
jcb_uf = new JComboBox();
//Botões
btn_novo = new JButton("Novo");
btn_salvar = new JButton("Salvar");
btn_alterar = new JButton("Alterar");
btn_excluir = new JButton("Excluir");
btn_sair = new JButton("Sair");
btn_prox_registro = new JButton(">");
btn_ultimo_registro = new JButton(">>");
btn_reg_anterior = new JButton("<");
btn_novo.setToolTipText("Insere o Novo Registro");
btn_salvar.setToolTipText("Salva o Registro");
btn_alterar.setToolTipText("Altera o Registro");
btn_excluir.setToolTipText("Exclui um Registro");
btn_prox_registro.setToolTipText("Próximo Registro");
btn_ultimo_registro.setToolTipText("Último Registro");
btn_reg_anterior.setToolTipText("Registro Anterior");
getContentPane().add(tf_codigo);
getContentPane().add(lb_codigo);
getContentPane().add(lb_nome_cidade);
getContentPane().add(lb_uf);
getContentPane().add(tf_nome_cidade);
getContentPane().add(jcb_uf);
getContentPane().add(btn_novo);
getContentPane().add(btn_salvar);
getContentPane().add(btn_alterar);
getContentPane().add(btn_excluir);
getContentPane().add(btn_sair);
getContentPane().add(btn_prox_registro);
getContentPane().add(btn_ultimo_registro);
getContentPane().add(btn_reg_anterior);
//objeto.setBounds(posicaoColuna, posicaoLinha, comprimentoDaLinha, alturaDaLinha)
getContentPane().setLayout(null);
lb_codigo.setBounds(50, 25, 50, 25);
tf_codigo.setBounds(120, 25, 50, 25);
lb_nome_cidade.setBounds(50, 60, 80, 25);
tf_nome_cidade.setBounds(120, 60, 160, 25);
lb_uf.setBounds(50, 100, 70, 20);
jcb_uf.setBounds(120, 95, 60, 25);
btn_novo.setBounds(50, 150, 80, 30);
btn_salvar.setBounds(150, 150, 80, 30);
btn_alterar.setBounds(250, 150, 80, 30);
btn_excluir.setBounds(350, 150, 80, 30);
btn_sair.setBounds(450, 150, 80, 30);
btn_prox_registro.setBounds(140, 200, 80, 30);
btn_ultimo_registro.setBounds(230, 200, 80, 30);
btn_reg_anterior.setBounds(50, 200, 80, 30);
//Registro dos objetos que vão sofrer ações
btn_alterar.addActionListener(this);
btn_novo.addActionListener(this);
btn_excluir.addActionListener(this);
btn_salvar.addActionListener(this);
btn_sair.addActionListener(this);
btn_prox_registro.addActionListener(this);
btn_ultimo_registro.addActionListener(this);
btn_reg_anterior.addActionListener(this);
carrega_formulario();
carrega_combo_box_uf();
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn_novo) {
novo();
}
if (e.getSource() == btn_salvar) {
salvar();
}
if (e.getSource() == btn_excluir) {
excluir();
}
if (e.getSource() == btn_reg_anterior) {
registro_anterior();
}
if (e.getSource() == btn_prox_registro) {
prox_registro();
}
if (e.getSource() == btn_ultimo_registro) {
ultm_registro();
}
if (e.getSource() == btn_sair) {
JOptionPane.showMessageDialog(null, "Tem certeza que deseja Sair?");
}
}
public final void carrega_formulario() {
obj_conexao.conecta();
obj_conexao.executeSQL("SELECT * FROM tb_cidade");
try {
obj_conexao.resultset.first();
mostrar_dados();
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, "Dados não localizados" + erro);
}
}
public void novo() {
tf_codigo.setText("");
tf_nome_cidade.setText("");
jcb_uf.setSelectedItem("");
tf_nome_cidade.requestFocus();
tf_codigo.setEditable(false);
}
private void salvar() {
try {
String sqlInsert = "INSERT INTO tb_cidade (cid_nome_cidade, fk_id_uf) VALUES " +
"( '" + tf_nome_cidade.getText()
+ "','" + jcb_uf.getSelectedItem()
+ "' )";
obj_conexao.statement.executeUpdate(sqlInsert);
JOptionPane.showMessageDialog(null, "Registro na tabela Cidade realizada com Sucesso!");
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao tentar Salvar o registro... " + erro);
}
}
public void excluir() {
try {
String sql = "SELECT * FROM tb_cidade";
obj_conexao.executeSQL(sql);
obj_conexao.resultset.first();
String nome = "Tem certeza que deseja Excluir a Cidade " + obj_conexao.resultset.getString("cid_nome_cidade") + " ? ";
int opcao_escolhida = JOptionPane.showConfirmDialog(null, nome, "Exclusão ", JOptionPane.YES_NO_OPTION);
if (opcao_escolhida == JOptionPane.YES_OPTION) {
sql = "DELETE FROM tb_cidade WHERE id_cidade = id_cidade";
int conseguiu_excluir = obj_conexao.statement.executeUpdate(sql);
if (conseguiu_excluir == 1) {
JOptionPane.showMessageDialog(null, "Exclusão realizada com Sucesso!");
obj_conexao.executeSQL("SELECT * FROM tb_cidade");
obj_conexao.resultset.first();
}
}
else
return;
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null,"Erro ao tentar excluir o registro da tabela Cidade " + erro);
}
}
public void registro_anterior() {
try {
obj_conexao.resultset.previous();
mostrar_dados();
navega = 1;
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, "Não foi possível ir para o próximo registro!" + erro);
}
}
public void prox_registro() {
try {
obj_conexao.resultset.next();
mostrar_dados();
navega = 2;
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, "Não foi possível ir para o próximo registro!" + erro);
}
}
public void ultm_registro() {
try {
obj_conexao.resultset.last();
mostrar_dados();
} catch(SQLException erro) {
JOptionPane.showMessageDialog(null, "Não foi possível ir para o próximo registro!" + erro);
}
}
public void mostrar_dados() {
try {
tf_codigo.setText(obj_conexao.resultset.getString("id_cidade"));
tf_nome_cidade.setText(obj_conexao.resultset.getString("cid_nome_cidade"));
jcb_uf.setSelectedItem(obj_conexao.resultset.getString("fk_id_uf"));
} catch(SQLException erro) {
if (navega == 1)
JOptionPane.showMessageDialog(null, "Você já está no Primeiro Registro!");
else if (navega == 2)
JOptionPane.showMessageDialog(null, "Você já está no Último Registro!");
else
JOptionPane.showMessageDialog(null, "Dados não localizados" + erro);
navega = 0;
}
}
public final void carrega_combo_box_uf() {
obj_conexao.executeSQL("SELECT * FROM tb_uf");
try {
while (obj_conexao.resultset.next())
jcb_uf.addItem(obj_conexao.resultset.getString("id_uf"));
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Dados não localizados" + erro);
}
}
public static void main(String args[]) {
Form_Cidade obj_cidade = new Form_Cidade();
obj_cidade.setVisible(true);
}
}