Desculpem pela minha insistência, mas se eu não conseguir resolver esse problema, não vou poder dar prosseguimento aos meus estudos em JAVA / JDBC / SQL.
Alguém, com código semelhante a esse, consegue INSERIR um novo registro numa tabela?
Preciso descobrir onde estou errando, pois, como já escrevi antes, enquanto isso não acontece não posso continuar com os estudos em Java.
Agradeço a compreensão e espero que me perdoem pela insistência.
Está aqui o código, que apesar de “aparentemente” não dar erro, não insere um registro no meu bd, como era de se esperar.
// configurações iniciais.
static String driver = "org.hsqldb.jdbcDriver";
static String url = "jdbc:hsqldb:file:./db/CLIENTES";
static String userId = "sa";
static String password = "";
Vector columnNames = new Vector();
Vector data = new Vector();
static String sqlInsert = "INSERT INTO CLIENTES(id_cliente, nome_cliente, telefone_cliente) VALUES(?, ?, ?)";
// método para cadastrar novo cliente.
public void cadastrarCliente() {
try {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, userId, password);
PreparedStatement pstmt = connection.prepareStatement(sqlInsert);
String id = JOptionPane.showInputDialog(null, "Digite a ID do cliente:", "ID", 3);
String nome = JOptionPane.showInputDialog(null, "Digite o NOME do cliente:", "NOME", 3);
String fone = JOptionPane.showInputDialog(null, "Digite o TELEFONE do cliente:", "TELEFONE", 3);
pstmt.setInt(1, Integer.parseInt(id));
pstmt.setString(2, nome.toUpperCase());
pstmt.setInt(3, Integer.parseInt(fone));
pstmt.executeUpdate();
connection.close();
pstmt.close();
}
catch(ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
catch(SQLException sqle) {
sqle.printStackTrace();
}
}