Porque não está inserindo novos registros no meu BD?

// 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();  
        }
    }

Você está obtendo a conexão? Dá algum erro na inserção?

Não aparece nenhuma mensagem de erro. Isso complica.
A conexão é feita.
O código para inserir um registro no bd está correto?

opa,

esta tabela CLIENTES sua tem apenas estes 3 campos?

:okok:

Sim, minha tabela CLIENTES possui apenas estes 3 campos.