public void updateTable(String tablename, String values[]){
        // Não está sendo feita verificacoes de tipo aqui. 
        //Assume-se que os parâmetros já estão prontos para montar o comando sql.
        /*int i = 0;
        String sql = "UPDATE "+tableName+" SET ";
        for(i = 0; i < params.length-1; i++){
            sql += params[i]+" = "+values[i]+", ";
        }
        sql += params[i]+" = "+values[i];
        sql += " WHERE ";
        for(i=0; i < key.length-1; i++){
            sql += key[i]+" = "+keyValue[i]+" AND ";
        }
        sql += key[i]+" = "+keyValue[i];
        
        System.out.println("SQL [UPDATE] = "+sql);
        */
    
        if(tablename.isEmpty())
            System.out.println("ERRO: String vazia!");
        
        DBconnection dbcon;
        dbcon = new DBconnection();
        String sql, sql2 = "";
        ResultSet res;
        
        try{
               sql = "SELECT cols.column_name, cols.position" +
                                " FROM all_constraints cons, all_cons_columns cols " +
                                " WHERE lower(cols.table_name) = '" + tablename.toLowerCase()+ "' " +
                                " AND cons.constraint_type = 'P' " +
                                " AND cons.constraint_name = cols.constraint_name " +
                                " AND cons.owner = cols.owner " +
                                " ORDER BY cols.table_name, cols.position";
               System.out.println("Lista as PRIMARY KEYS: \n" + sql);
               res = dbcon.query(sql);
               int i = 0;
               ArrayList<Integer> keys = new ArrayList<Integer>();
               
               // Aqui não precisa fazer verificação de tipo, pois todas as chaves primárias são números
               while(res.next()) {
                   if(i > 0)
                       sql2 += " AND ";
                   sql2 += res.getString(1) + " = " + values[res.getInt(2)-1].toString();
                   keys.add(res.getInt(2)-1);
                   i++;
               }
               
               sql = "UPDATE "+tablename+" SET ";
               // aqui eu tem que verificar, eu coloquei como se fosse número
               for(i = 0; i < values.length; i++) {
                   if(keys.contains(i)) {
                       continue;
                   }
                   sql += this.tableAttr.get(i) + " = " + values[res.getInt(2)-1].toString();
               }
               
               sql += " WHERE " + sql2;
               
               System.out.println(sql);
               dbcon.execute(sql);
               
            } catch(SQLException e) {
                switch(e.getErrorCode()){
                    case 911: // Erro de sintaxe! q feio ...
                    {
                        System.out.println("Erro de sintaxe do comando sql. Obs.: Talvez você tenha se esquecido de tirar o ; do final. :P ");
                        break;
                    }
                    default:
                    {
                        System.out.println("ERROR CODE: "+e.getErrorCode());
                        break;
                    }
                }
            }
            
        try {
            dbcon.disconect();
        } catch (SQLException e) {
            System.out.println("ERROR CODE: "+e.getErrorCode());
            System.out.println("Problema para desconectar");
        }
    }