Estou com um problema que não consigo resolver a dias, estou quase desistindo,
mas procurando a solução pra este problema, me decorreram algumas duvidas:
tenho um problema quando tento tento inserir dados em uma tabela de um banco que tem varias tabelas.
da um general error na linha em que o Statement executa a instrução Insert, e eu não sei o porque do problema
estou usando access como banco, procurando resolver, tentei:
1° - Tentei incluir comandos SQL direto no Access, funcionava normal em todas as tabelas, menos naquela que estava dando erro.
Dava um aviso dizendo que aquela tabela ja havia sido aberta por outro usuário, ou programa, mudei as opções avançadas do Access, e as instruções SQL passaram a funcionar diretamente no Access, mas mesmo assim, pelo programa continua dando o mesmo erro
2° - Refiz o banco, refiz todas as tabelas, com os mesmo nomes, depois apenas substitui o arquivo accdb da pasta onde esta guardado o banco.
as novas tabelas estavam vazias, sem registros, mas mesmo assim na parte do programa onde mostro os dados do banco em uma tabela, a tabela esta preenchida!
Ja fechei o netbeans e abri de novo, e continua preenchida com os dados antigos, mesmo eu tendo zerado a tabela
Sera que tem alguma conexão que não foi fechada e os dados continuam la?
Não entendi esta parte
Sera que não é alguma coisa de autocomit?
public void conectar(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e){
JOptionPane.showMessageDialog(null, "Impossível carregar o Driver.");
System.exit(0);
}
try{
con = DriverManager.getConnection("jdbc:odbc:vendas");
stm =con.createStatement();
}
catch (SQLException sqle){
JOptionPane.showMessageDialog(null, "Problema ao conectar!");
}
}
public void guardarDados2(){
this.conectar();
//variaveis utilizadas para mandar os valores para o banco
//variavel nome
String nome=txt_nome.getText();
//variavel valor
String valor=txt_total.getText();
//pegar a data do sistema
Date hoje = new Date();
SimpleDateFormat df;
df = new SimpleDateFormat("dd/MM/yyyy");
String data = df.format(hoje);
//pegar a hora do sistema
String hora=this.getHora();
//comando que sera passado ao banco na tabela Vendas
String query="INSERT INTO Vendas (Nome, Valor, Hora, Data) VALUES ('"+nome+"','"+valor+"','"+hora+"','"+data+"')";
try {
stm.executeUpdate(query); //erro nesta linha
JOptionPane.showMessageDialog(null, "Dados guardados com sucesso");
}
catch (SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null,"erro na segunda instrução sql");
JOptionPane.showMessageDialog(null,"" + e.getMessage(),"Erro",0);
JOptionPane.showMessageDialog(null,"" + e.toString(),"Erro",0);
}
finally{
this.desconectar();
}
}


