Olá Pessoal,
tenho o seguinte código:
import java.sql.*;
public class Banco{
private Connection con;
private String jdbcDriver = "org.hsqldb.jdbcDriver";
private String jdbcUrl = "jdbc:hsqldb:file:C:\\FONTES\\Java\\JAgenda\\src\\bd\\bd;shutdown=true";
private String jdbcUser = "sa";
private String jdbcPasswd = "";
public Banco() {
try {
Class.forName(jdbcDriver);
con = DriverManager.getConnection(jdbcUrl,jdbcUser,jdbcPasswd);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void selecionar(){
try {
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery("SELECT ID, NOME, ENDERECO, TELEFONE, CELULAR, EMAIL, OBS FROM AGENDA ORDER BY NOME");
while(res.next()){
System.out.println(res.getString(1));
System.out.println(res.getString(2));
System.out.println(res.getString(3));
System.out.println(res.getString(4));
System.out.println(res.getString(5));
System.out.println(res.getString(6));
System.out.println(res.getString(7));
System.out.println("");
}
res.close();
stmt.close();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public void inserir(){
try {
PreparedStatement stmt = con.prepareStatement("INSERT INTO AGENDA VALUES(?,?,?,?,?,?,?)");
stmt.setInt(1, 5); //ID
stmt.setString(2, "GERMANO"); //NOME
stmt.setString(3, "CERRO"); //ENDERECO
stmt.setString(4, "257"); //TELEFONE
stmt.setString(5, "9111"); //CELULAR
stmt.setString(6, "KARGEMALHAS"); //EMAIL
stmt.setString(7, "TESTE OBS"); //OBS
stmt.execute();
stmt.close();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public void alterar(){
try {
PreparedStatement stmt = con.prepareStatement("UPDATE AGENDA SET NOME = ?, ENDERECO = ?, TELEFONE = ?, CELULAR = ?, EMAIL = ?, OBS = ? WHERE ID = ?");
stmt.setString(1,"MANUEL GERMANO");
stmt.setString(2,"CENTRO");
stmt.setInt(7, 3);
stmt.execute();
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public void deletar(){
try {
PreparedStatement stmt = con.prepareStatement("DELETE FROM AGENDA WHERE ID = ?");
stmt.setInt(1,3);
stmt.execute();
stmt.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public static void main(String[] args) {
Banco banco = new Banco();
//banco.inserir();
//banco.alterar();
//banco.deletar();
banco.selecionar();
}
}
Estou com o seguinte problema!
Primeiro rodo o programa utilizando o metodo inserir e o selecionar!
o programa roda, inseri este novo registro e mostra todos os registros.
depois rodo o programa novamente mas somente no modo selecionar, sem inserir, e o registro inserido anteriormente não está mais lá.
Assim acontece quando preciso apagar um registro, ele apaga, mas depois se rodar novamente, ele não apagou!
é como se faltasse um commit, já fiz alguns testes com o commit, mas de nada adiantou!
Espero ter sido claro com o meu problema!
conto com a ajuda de vcs!
abraço