Se esta é a classe toda, realmente vai dar erro, afinal, não existe um método chamado getNumConta(); O erro está referenciando esta linha por ela conter o primeiro erro, mas, provavelmente, exista erro em todos os gets.
Tem certeza que não devia indicar de qual objeto estes gets vêm?
N
Nathan_Silva
eles vem da super classe Conta, ja testei tirar eles e por algum valor no lugar e da o mesmo erro.
V
Vinicius_Salles
Tira o get da frente, para usar o get você precisa de um objeto:
exemplo: seuObjeto.getNumConta();
No caso parece que você tem a variável que tem nome NumConta.
D
darlan_machado
Ele já explicou que os métodos pertencem a superclasse que ele omitiu.
Para ter mais assertividade, precisamos saber qual o erro indicado.
ContCorrente.conectar();Stringsql="INSERT INTO ContaCliente("+"NumeroConta,"+"Nome,"+"Saldo,"+"Senha,"+"Tipo"+") VALUES(?,?,?,?,?)"+";";JOptionPane.showMessageDialog(null,"Cadastrado!");PreparedStatementprepare=ContCorrente.criarPreparedStatement(sql);try{
prepare.setInt(1,getNumConta());prepare.setString(2,getNome());prepare.setFloat(3,getSaldo());prepare.setString(4,getSenha());prepare.setInt(5,getTipo());prepare.executeUpdate();}catch(SQLExceptione){
System.out.println("Erro ao Cadastrar");}finally{
if(prepare!=null){
try{
prepare.close();}catch(SQLExceptionex){
System.out.println("Erro ao fechar o banco");}
}
}
ContCorrente.desconectar();
}
}
codigo completo para ver melhor
D
darlan_machado
Mantenho o que disse.
O problema aparece na classe que você postou, mas, ele ocorre na outra classe.
N
Nathan_Silva
onde coloco isso?
D
darlan_machado
Sempre que você tem um trecho de código que pode causar alguma falha, exceção, você circunda com try/catch.
Agora, aqui
Você matou o catch, colocando “return null”
Ele está entrando neste catch, porém, creio que seja por conta do objeto c estar nulo.
Onde você o instancia?
Sempre que fizer um setNumConta e setTipo cria um try catch, e no catch coloca um valor default, eu utilizo o valor default -1, que é mais fácil para verificar depois os registros que foram inseridos de forma errada.
D
darlan_machado
Agora com e.printStatckTrace no código, qual foi o erro lançado?
Basicamente, não encontrou a tabela referida na query.
Logo, você precisa se certificar de que esta tabela existe, caso não, criá-la. Caso exista, precisa certificar-se que o nome da mesma está correto na query.
N
Nathan_Silva
a Tabela existe no banco, eu criei o banco normal sem ser em java, será por isso?
V
Vinicius_Salles
Será que não criou a mesma tabela 2 vezes?
Quando for criar a tabela lembra de por a clausula: create table if not exists
N
Nathan_Silva
será? entao vou excluir e criar dnv a tabela para ver
D
darlan_machado
Não há nada que obrigue a usar apenas bancos e tabelas criados através do java.
Agora, o bom seria acessar o banco e certificar-se de que a tabela está lá.