Olá pessoal.
Eu estou fazendo um cadastrinho simples (de iniciante meeesmo)
em java, usando Desktop. Porém, enfrento sérios problemas.
Primeiro, minha JTable não inseria mais de uma linha.
Isso já resolvi.
Agora, estou com problemas com o PreparedStatement.
Ele dá erro, e eu não consigo identificar o que é esse erro.
Nem achei aqui no GUJ.
public Connection conect() {
Connection con = null;
try {
Class.forName("org.gjt.mm.mysql.Driver");
String user = "root", pwd = "123", url = "jdbc:mysql://localhost/clientes";
con = DriverManager.getConnection(url, user, pwd);
return con;
} catch (ClassNotFoundException sql) {
return con;
} catch (SQLException sql) {
return con;
}
}
E esse é o método para adicionar no banco de dados.
Os campos, o SQL tá perfeito, nenhum errinho.
Se fizer direto no banco ele insere mas o erro tá aqui.
public boolean gravaCliente(Cliente cliente) {
Conexao con = new Conexao();
Connection co = con.conect();
String sql;
try {
sql = "insert into clientes values (nome, datanasc, estcivil, cpf, "
+ "endereco, rg, sexo, bairro, cidade) values (?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement st = (PreparedStatement) co.prepareStatement(sql); //O erro é aqui...
st.setString(1, cliente.getNome());
st.setString(2, cliente.getDtnasc());
st.setString(3, cliente.getEstcivil());
st.setString(4, cliente.getCPF());
st.setString(5, cliente.getEndereco());
st.setString(6, cliente.getRG());
st.setString(7, cliente.getSexo());
st.setString(8, cliente.getBairro());
st.setString(9, cliente.getCidade());
st.execute();
st.close();
return true;
} catch (SQLException e) {
return false;
}
}
conexao.gravaCliente(cliente);
if (conexao.gravaCliente(cliente)) {
JOptionPane.showConfirmDialog(null, "Dado inserido com sucesso!");
} else {
JOptionPane.showConfirmDialog(null, "Falha ao gravar no banco de dados ");
}
Isso num evento de ActionPerformed na minha view.
Agora encuquei.
Não faço sombra de idéia de o porque de dar esse erro.
Alguém me ajuda?
Obrigado desde já amigos.
:D


