Jdbc INSERT no Access not funciona

:cry:
Pessoal, quebrei a cabeça, pesquisei, achei no forum um topico parecido. mas mesmo assim não consegui funcionar, por isso gostaria de uma ajuda
Estou tentando incluir no access mais não funfa.

Veja o código abaixo e a descrição. Obrigado desde já

* Conexão *
	public static Connection getAccessConnection() throws SQLException {
		try {
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			return DriverManager.getConnection("jdbc:odbc:teste_dns","","");
		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}
=================================================================
*** Onde não Funciona ***
package e imports da vida...
public class CatracaDAO implements InterfaceCatraca {
	
	private Connection connection;
	
	public CatracaDAO() throws SQLException {
		this.connection = ConnectionFactory.getAccessConnection();
	}

	public void alterarAlunoCatraca(Catraca catraca) throws Exception {
		
		PreparedStatement stmt = this.connection.prepareStatement("insert into Aluno(cd_aluno,nm_aluno) " +
		" VALUES(?,?)");
		
		stmt.setString(1,catraca.getMatriculaCatraca());
		stmt.setString(2,catraca.getStatusCatraca());
		
		// se eu deixar o execute e o executeQuery sem comentar...grava o resultado no banco, mas gera um erro
//ERRO: at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)
      //at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(Unknown Source)
		stmt.execute();
		stmt.executeQuery();
		// se eu comentar algum dos dois acima...não ocorre erro,mas não grava no banco
		//stmt.close();
		
		//Statement stmt = this.connection.prepareStatement("INSERT INTO Aluno(cd_aluno,nm_aluno) VALUES(" + catraca.getMatriculaCatraca() + "," + catraca.getStatusCatraca() + ")");
		//stmt.executeQuery(null);
		//stmt.executeBatch();
		//stmt.executeQuery(sql);
	}
}
=================================================================
*** Teste ***
public class TestaCatraca {

	public static void main(String[] args) throws Exception {
		
		Catraca catraca = new Catraca();
	
		catraca.setMatriculaCatraca("000800");
		catraca.setStatusCatraca("Bloqueado");
		
		InterfaceCatraca dao = new CatracaDAO();
		dao.alterarAlunoCatraca(catraca);
		System.out.println("Gravado!");
=================================================================

Olá!

Tenta dar stmt.executeUpdate();

Abraços

Usa somente o método execute()

~Já tentei amigos…não funcionou tb.

Você tem permissão de escrita no arquivo mdb?
Ele não esta aberto de modo exclusivo por outro processo na máquina?

Tenta usar um banco de dados de verdade ao invés do Access

já tentei isso amigos…mas não funcinonou…
será que eu tenho dar algum commit?

[quote]Você tem permissão de escrita no arquivo mdb?
Ele não esta aberto de modo exclusivo por outro processo na máquina?

Tenta usar um banco de dados de verdade ao invés do Access[/quote]

sim amigo, eu tenho permissão de escrita
como comentei no código…o codigo chega a fazer inclusão qdo eu uso os 2 métodos juntos
stmt.execute
stmt.executeQuery
ele grava no banco mas gera erro…coloquei o erro tb na descrição…

tb concordo que access não é um banco de dados de verdade. MAs infezlimente nesse caso eu preciso usar o ACCESS

funcionou camaradas…apenas precisei disso…

stmt.execute();
connection.close();