Olá galera tudo bem???
Fiz um código que cria uma tabela em um banco mysql.
Onde temos a opção de salvar, consultar.
Minha duvida eh a seguinte:
1º - Preciso de um servidor MySQL, para testar meu codigo, alguem sabe onde posso achar um?E o Endereço IP dele....
2º - Peço que analise a CONSULTA.Estou com duvida se o acesso pode ser feito deste modo.
Locais a serem analisados: Linha: 21 à 31(MySQL), 139 à 156(Botao Consulta), 276 à 328(Função Consulta).
Obs: Sei que é muito ultrapassado Container, mas foi exigência do trabalho.
Obrigado pela atenção!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;//componentes de interface
import java.sql.*;
public class Aplicacao extends JFrame //JFrame consegue usar a janela
{
private JButton butSalvar, butCriarTabela,butLimpar,butVisualizar,butSair,butConsultar;//botao
private JTextField nomeTF,enderecoTF,cidadeTF,cepTF,estadoTF,sexoTF,nomeTF1,enderecoTF1,cidadeTF1, cepTF1, estadoTF1,sexoTF1;
private JLabel nome,estado,endereco,cep,cidade,sexo,nome1,estado1,endereco1,cep1,cidade1,sexo1;
private JPanel p1 = new JPanel();
private JPanel p2 = new JPanel();//painel dos botoes em forma centralizada(configurada mais abaixo)
private JPanel p3 = new JPanel();//painel radiobutton
private JPanel p4 = new JPanel();//painel oculto
private JRadioButton cb1,cb2;//radiobutton
private ButtonGroup bg;
private Container c;//todos os componentes são colocados dentro de um container
private JComboBox listadeestados;
private String nomeestados[]={"MG","SP","RJ","MS","MT","PR"},NomePe,NomeP,CidadeP,EstadoP,EnderecoP,SexoP;
private String driver = "com.mysql.jdbc.Driver"; // Driver de MySQL
private String URL = ""; // Aqui vem o IP do servidor
// Você tem que colocar o nome do seu banco. Você coloca o localhost se o MySql estiver na mesma maquina
// Aplicação, senão você tem que colocar o ip do servidor de Dados e o nome do banco
private String USE = "";//Usuario
// Seu usuário de acesso no MySQL
private String SENHA = "";//Senha
// Sua senha de acesso no MySQL
private Connection Conexao;//objeto que fará a conexão
public Aplicacao()//construtor
{
super("Aplicacao grafica simples");//super,chama o metodo da super classe, JFrame
// Cria os componentes
nome = new JLabel("Nome:");
nomeTF = new JTextField(10);
endereco = new JLabel("Endereço:");
enderecoTF = new JTextField(30);
cep = new JLabel("CEP:");
cepTF = new JTextField(8);
cidade = new JLabel("Cidade:");
cidadeTF = new JTextField(20);
estado = new JLabel("Estado:");
sexo = new JLabel("Sexo:");
sexoTF = new JTextField(9);
//Painel quatro
nome1 = new JLabel("Nome:");
nomeTF1 = new JTextField(10);
nomeTF1.setEnabled(false);//desabilita
endereco1 = new JLabel("Endereço:");
enderecoTF1 = new JTextField(30);
enderecoTF1.setEnabled(false);//desabilita
cep1 = new JLabel("CEP:");
cepTF1 = new JTextField(8);
cepTF1.setEnabled(false);//desabilita
cidade1 = new JLabel("Cidade:");
cidadeTF1 = new JTextField(20);
cidadeTF1.setEnabled(false);//desabilita
estado1 = new JLabel("Estado:");
estadoTF1 = new JTextField(2);
estadoTF1.setEnabled(false);//desabilita
sexo1 = new JLabel("Sexo:");
sexoTF1 = new JTextField(9);
sexoTF1.setEnabled(false);//desabilita
ButtonGroup bg = new ButtonGroup();
cb1 = new JRadioButton("Masculino",true);
cb2 = new JRadioButton("Feminino",false);
bg.add(cb1);//adiciona ao button group
bg.add(cb2);// ....
listadeestados = new JComboBox(nomeestados);//vetor com as strings declaradas
butCriarTabela = new JButton("Criar Tabela");//Escrevendo dentro do botao
butLimpar = new JButton("Limpar");//Limpa todos os campos
butVisualizar = new JButton("Visualizar");//Visualiza
butSair = new JButton("Sair");
butConsultar = new JButton("Consultar");
butSalvar = new JButton ("Salvar");
butSalvar.setEnabled(false);//so pode clicar no botao de salvar apos criar tabela no banco, por isso esta desativado
//Atribuição de Ação aos botões
butCriarTabela.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)//se clicar executa a açao.
{
CriaTabelaDados();//cria a tabela no banco
butSalvar.setEnabled(true);//ativa o salvar
}
} );
butSalvar.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
InsereDadosTabela();//pega os dados do formulario e insere na tabela
}
} );
butLimpar.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
nomeTF.setText("");
enderecoTF.setText("");
cepTF.setText("");
cidadeTF.setText("");
listadeestados.setSelectedIndex(0);
cb1.setSelected(true);
cb2.setSelected(false);
}
} );
butVisualizar.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
nomeTF1.setText(nomeTF.getText());
enderecoTF1.setText(enderecoTF.getText());
cepTF1.setText(cepTF.getText());
cidadeTF1.setText(cidadeTF.getText());
estadoTF1.setText(listadeestados.getSelectedItem().toString());
if(cb1.isSelected() == true)
sexoTF1.setText("Masculino");
else sexoTF1.setText("Feminino");
}
} );
butConsultar.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)//se clicar executa a açao.
{
NomeP = nomeTF.getText();
ConsultaTabelaDados(NomeP);
nomeTF1.setText(NomePe);
estadoTF1.setText(EstadoP);
sexoTF1.setText(SexoP);
enderecoTF1.setText(EnderecoP);
cidadeTF1.setText(CidadeP);
}
} );
butSair.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
} );
// Define o layout do container básico
c = getContentPane();
c.setLayout(new GridLayout(4,3));//container dividido em 3linhas por 1 coluna
// Define o layout dos Panels
p1.setLayout(new GridLayout(5,2));//painel dividido em 4linhas por 4colunas
p2.setLayout(new GridLayout(1,3));
p3.setLayout(new FlowLayout(FlowLayout.CENTER)); //ALINHA COMPONENTES
p4.setLayout(new GridLayout(6,2));//painel dividido em 4linhas por 4colunas
// Adiciona os componentes aos panels
p1.add(nome); p1.add(nomeTF);
p1.add(endereco); p1.add(enderecoTF);
p1.add(cep); p1.add(cepTF);
p1.add(cidade);p1.add(cidadeTF);
p1.add(estado);
p1.add(listadeestados); //adiciona combobox
p2.add(sexo);p2.add(cb1); p2.add(cb2);//adiciona radiobutton
p3.add(butSalvar);//adiciona botao salvar
p3.add(butCriarTabela);//adiciona botao criar tabela
p3.add(butVisualizar);
p3.add(butConsultar);
p3.add(butLimpar);
p3.add(butSair);
p4.add(nome1);p4.add(nomeTF1);
p4.add(endereco1);p4.add(enderecoTF1);
p4.add(cep1); p4.add(cepTF1);
p4.add(cidade1);p4.add(cidadeTF1);
p4.add(estado1);p4.add(estadoTF1);
p4.add(sexo1);p4.add(sexoTF1);
// Adiciona os panels ao container básico
c.add(p1);//painel 1 adicionado ao container
c.add(p2);//painel 2 adicionado ao container
c.add(p3);//painel 3 adicionado ao container
c.add(p4);//painel 4 adicionado ao container
pack();
show();
}
void CriaTabelaDados()
{
System.out.println("Carregando o driver JDBC ODBC...\n\n");
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException Erro)
{
System.out.println("Não e possivel carregar o driver...\n\n");
}
try
{
Connection Conexao = DriverManager.getConnection(URL, USE, SENHA);
Statement FluxoSQL = Conexao.createStatement();
String InstrucaoSQL = "CREATE TABLE Pessoa (Nome CHAR(35), Estado CHAR(2), Sexo CHAR(1), Endereco CHAR(35), Cidade CHAR(20))";//crie a tabela pessoa com:
FluxoSQL.executeUpdate(InstrucaoSQL);
System.out.println("Instrução SQL executada com sucesso...Tabela criada...\n\n");
FluxoSQL.close();
Conexao.close();
System.out.println("Conexão encerrada...\n\n");
}
catch(SQLException Erro)
{
System.out.println("Não foi possível conectar-se à Base de Dados e criar a tabela...\n\n");
}
}
void InsereDadosTabela()
{
System.out.println("Carregando o driver JDBC ODBC...\n\n");
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException Erro)
{
System.out.println("Não e possivel carregar o driver...\n\n");
}
try
{
Connection Conexao = DriverManager.getConnection(URL, USE, SENHA);
Statement FluxoSQL = Conexao.createStatement();
String Nome = nomeTF.getText();//recebe o que esta dentro do nome do campo texto
String Estado = listadeestados.getSelectedItem().toString();
String Endereco = enderecoTF.getText();
String Cidade = cidadeTF.getText();
String Sexo="M";
if (cb2.isSelected())
Sexo = "F";
String InstrucaoSQL = "INSERT INTO Pessoa VALUES ('" + Nome + "','" + Estado + "','" + Sexo + "','" + Endereco + "','" + Cidade +"')";//insira na tabela pessoa os seguintes caracteres
FluxoSQL.executeUpdate(InstrucaoSQL);
System.out.println("Instrução SQL executada com sucesso...\n\n");
FluxoSQL.close();
Conexao.close();
System.out.println("Conexão encerrada...\n\n");
}
catch(SQLException Erro)
{
System.out.println("Não foi possível conectar-se à Base de Dados e inserir dados na tabela...\n\n");
}
}
public void ConsultaTabelaDados(String NomeP)
{
int j=0,i=1;
System.out.println("Carregando o driver JDBC ODBC...\n\n");
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException Erro)
{
System.out.println("Não e possivel carregar o driver...\n\n");
}
try
{
Connection Conexao = DriverManager.getConnection(URL, USE, SENHA);
Statement FluxoSQL = Conexao.createStatement();
Statement InstrucaoSelectSQL = Conexao.createStatement();
ResultSet Resultados = InstrucaoSelectSQL.executeQuery("SELECT NomePe, CidadeP, EstadoP FROM Pessoa");
// Testa so resultados encontrados
while (Resultados.next())
{
if(NomeP == Resultados.getString(i).trim())
{
String NomePe = Resultados.getString(1).trim();
String EstadoP = Resultados.getString(2).trim();
String SexoP = Resultados.getString(3).trim();
String EnderecoP = Resultados.getString(4).trim();
String CidadeP = Resultados.getString(5).trim();
System.out.println("Nome = " + NomePe);
System.out.println("Estado = " + EstadoP);
System.out.println("SexoP = " + SexoP);
System.out.println("EnderecoP = " + EnderecoP);
System.out.println("Cidade = " + CidadeP);
System.out.println("\nResultados Encontrados = " + j);
j++;
}
i++;
}
System.out.println("\n\nInstrução SQL executada com sucesso...");
InstrucaoSelectSQL.close();
Conexao.close();
System.out.println("Conexão encerrada...\n\n");
}
catch(SQLException Erro)
{
System.out.println("Não foi possível conectar-se à Base de Dados e criar a tabela...\n\n");
}
}
public static void main(String args[])
{
Aplicacao ap = new Aplicacao();
ap.addWindowListener(//Ação de janela,qdo clicar no X da janela ele sai.
new WindowAdapter()//Segue a explicacao acima
{
public void windowClosing(WindowEvent e)//Segue a explicacao acima
{
System.exit(0);
}
});
}
}
[color=red] [/color]
