Olá amigos, não estou entendo o que está acontecendo com essa inserção de dados no access, pois, ele conecta no banco, não dá mensagem de erros ao clicar em salvar, mas não consegue gravar os dados nas colunas devidamente relacionadas no método “salvarCadastro”. Por favor alguém poderia me ajudar? Não consigo entender por que não grava na tabela PESSOA. Vejam o código:
[code]import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import java.awt.TextField;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Scanner;
import java.sql.;
import java.io.;
public class Estudo extends JFrame{
private JButton b1, b2, b3;
private JLabel l1, l2, l3, l4, l5;
private TextField c1, c2, c3, c4, c5;
private JPanel p1, p2;
private TratarBotoes tba;
String Snome, Sendereco, Sbairro;
Long Ttelefone, Tnumero;
Connection cn;
ResultSet rs;
Statement st;
public Estudo(){
setTitle("Estudos 03/07/2010");
p1 = new JPanel(); p1.setLayout(new FlowLayout(0));
p2 = new JPanel(); p2.setLayout(new FlowLayout());
b1 = new JButton("SALVAR");
b2 = new JButton("NOVO");
b3 = new JButton("EXCLUIR");
l1 = new JLabel("NOME:");
l2 = new JLabel("ENDEREÇO:");
l3 = new JLabel("Nº");
l4 = new JLabel("BAIRRO:");
l5 = new JLabel("TELEFONE:");
c1 = new TextField(37);
c2 = new TextField(33);
c3 = new TextField(9);
c4 = new TextField(20);
c5 = new TextField(15);
TextField [] vetTF = {c1, c2, c3, c4, c5};
p1.add(l1);
p1.add(c1);
p1.add(l2);
p1.add(c2);
p1.add(l3);
p1.add(c3);
p1.add(l4);
p1.add(c4);
p1.add(l5);
p1.add(c5);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p1.add(p2);
tba = new TratarBotoes(b1,b2,b3, vetTF);
b1.addActionListener(tba);
b2.addActionListener(tba);
b3.addActionListener(tba);
b3.setForeground(Color.red);
setContentPane(p1);
setVisible(true);
setSize(350, 350);
setLocationRelativeTo(null);
setResizable(false);
}
public static void main(String[] args){
new Estudo();
}
class TratarBotoes implements ActionListener{
private JButton b1, b2, b3;
private TextField [] vetC;
public TratarBotoes(JButton ba, JButton bb, JButton bc, TextField [] vetCampos){
b1 = ba;
b2 = bb;
b3 = bc;
vetC = vetCampos;
}
public void actionPerformed(ActionEvent acao){
if (acao.getSource() == b1){
try{
Snome = c1.getText();
Sendereco = c2.getText();
Tnumero = Long.parseLong(c3.getText());
Sbairro = c4.getText();
Ttelefone = Long.parseLong(c5.getText());
salvarCadastro();
}catch(FileNotFoundException excp){
System.err.println(excp);
System.exit(1);
}
JOptionPane.showMessageDialog(null,"Cadastrado com sucesso");
System.out.println("b1");
}else{
if(acao.getSource() == b2){
for(TextField campo : vetC)
campo.setText("");
System.out.println("b2");
}else{
if(acao.getSource() == b3){
//excluir();
System.out.println("b3");
}
}
}
}
}
public void salvarCadastro() throws FileNotFoundException {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cn = DriverManager.getConnection(Conexao.CONEXAO);
st = cn.createStatement();
String query = "INSERT INTO PESSOA (NOME, ENDERECO, NUMERO, BAIRRO, TELEFONE,) VALUES ("+
"'"+ Snome +"', "+
"'"+ Sendereco +"', "+
Tnumero + ", " +
"'"+ Sbairro +"', "+
Ttelefone + "');";
// st.close();
// cn.close();
} catch (Exception e) {
}
}
public interface Conexao{
public static final String CONEXAO =
"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Users/Daniel/Documents/Banco/Testes.mdb";
}
}[/code]