Statementstmt=con.createStatement();Stringsql="INSERT INTO Aluno (nome, matricula) VALUES ('"+this.nome+"','"+this.matricula+"')";stmt.executeUpdate(sql);
O banco é o access/windows XP. Nao alterei o autocommited.
Acesso via odbc.
Nenhuma exceção é lançada, pode crer.
Tudo roda “num silencio”, porem no banco nao insere nenhuma linha.
Tem alguma cofiguração especial no ODBC que devo fazer?
EDIT (Thingol) Pus os tags [ code ] na sua mensagem. Eu até achava que você estava com problemas de aspas, até que vi sua mensagem formatada.
Se estiver mude para SQLException.
Entaum vc ver’a qual erro estar’a ocorrendo.
Abracos
Wanderson :twisted:
Rafael_Steil
O problema nao eh o tipo de exception - Exception eh o supertype de SQLException e todas outras Checked Exceptions - , mas sim omitir a mesma.
Rafael
F
fnapoleao
A classe esta logo abaixo e não ha problema com relação ao tratamento de exceção. Nenhuma exceção é reportada quando um objeto da classe é instanciado, “setado” os valores dos atributos e muito menos quando o metodo inserir() é chamado.
Até que insere, mas tenho que chamar o metodo inserir() duas vezes assim:
a.inserir(); a.inserir();
O negócio é como se houvesse uma transação sem “commite”. Mas nao estou usando transação, como podem ver no código. E aí?
publicAluno(){nome="";matricula="";if(con==null){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con=DriverManager.getConnection("jdbc:odbc:escola","admin","");}catch(Exceptione){System.err.println("Erro no comando SQL de Conexao: "+e.toString());}}}publicvoidinserir()throwsSQLException{Statementstmt=con.createStatement();Stringsql="INSERT INTO Aluno (nome, matricula) VALUES ('"+this.nome+"','"+this.matricula+"')";stmt.executeUpdate(sql);stmt.close();}publicStringgetNome(){returnnome;}publicvoidsetNome(Stringvalue){nome=value;}publicStringgetMatricula(){returnmatricula;}publicvoidsetMatricula(Stringvalue){matricula=value;}publicStringtoString(){returnnome+" "+matricula;}
}
Z
ZehOliveira
stmt.executeUpdate(sql); retorna o que?
Tente usar PreparedStatement, vai facilitar na hora de passar os parametros.