找不到文件系统

时间:2020-07-24 15:38:15

标签: c++ filesystems c++17

每当我尝试使用文件系统库时,它都会给我error: 'filesystem' is not a namespace-name 我的代码是

#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main()
{
    std::cout << "Current path is " << fs::current_path() << '\n';
}

我正在使用gcc(MinGW.org GCC Build-2)9.2.0。 不支持C ++ 17。

编辑:

我发现VS 2019的设置允许您更改C ++语言标准。

1 个答案:

答案 0 :(得分:-3)

尝试这样:

public void generateFirstReport() {

    try {
        
        Statement statement = DBConnection.getConnection().createStatement();
        String appointmentTypeQuery = "SELECT description, MONTHNAME(start) as 'Month', COUNT(*) as 'Total' FROM appointment GROUP BY description, MONTH(START)";
        
        ResultSet appointmentQueryResults = statement.executeQuery(appointmentTypeQuery);
        
        StringBuilder parseReport = new StringBuilder();
        
        parseReport.append(String.format("%1$-60s %2$-60s %3$s \n", "Month", "Appointment Type", "Total"));
        parseReport.append(String.join("", Collections.nCopies(163, "-")));
        parseReport.append("\n");
        
        while(appointmentQueryResults.next()) {
            
            parseReport.append(String.format("%1$-56s %2$-60s %3$s \n", appointmentQueryResults.getString("Month"), appointmentQueryResults.getString("description"), appointmentQueryResults.getInt("Total")));
        }
        
        typesOfMonthsText.setText(parseReport.toString());
    }
    
    catch(SQLException ex) {
        System.out.println("Error " + ex.getMessage());
    }
}
    
public void generateSecondReport() {
    
    try {
        
        Statement statement = DBConnection.getConnection().createStatement();
        String consultantQueryResults = "SELECT appointment.contact, appointment.description, customer.customerName, start, end " + "FROM appointment JOIN customer ON customer.customerId = appointment.customerId " +
                "GROUP BY appointment.contact, MONTH(start), start";
        
        ResultSet appointmentQueryResults = statement.executeQuery(consultantQueryResults);
        
        StringBuilder parseReport = new StringBuilder();
        parseReport.append(String.format("%1$-45s %2$-45s %3$-45s %4$-45s %5$s \n", "Consultant", "Appointment", "Customer", "Start", "End"));
        parseReport.append(String.join("", Collections.nCopies(163, "-")));
        parseReport.append("\n");
        
        while(appointmentQueryResults.next()) {
            
            parseReport.append(String.format("%1$-37s %2$-50s %3$-35s %4$-35s %5$s \n", 
                appointmentQueryResults.getString("contact"), appointmentQueryResults.getString("description"), appointmentQueryResults.getString("customerName"),
                appointmentQueryResults.getString("start"), appointmentQueryResults.getString("end")));
        }
        
        scheduleOfConsultantText.setText(parseReport.toString());         
        
    }
    catch(SQLException ex) {
       System.out.println("Error " + ex.getMessage()); 
    }       
}

public void generateThirdReport () {
    
    try {
        Statement statement = DBConnection.getConnection().createStatement();
        //"SELECT description, MONTHNAME(start) as 'Month', COUNT(*) as 'Total' FROM appointment GROUP BY description, MONTH(START)";
        String appointmentQueryResults = "SELECT YEAR(start) as 'Year', COUNT(*) as 'Total' FROM appointment GROUP BY YEAR(start)";
        
        ResultSet yearlyQueryResults = statement.executeQuery(appointmentQueryResults);
        
        StringBuilder parseReport = new StringBuilder();
        parseReport.append(String.format("%1$-50s %2$-50s \n", "Year", "Total"));
        parseReport.append(String.join("", Collections.nCopies(163, "-")));
        parseReport.append("\n");
        
        while(yearlyQueryResults.next()) {
            
            parseReport.append(String.format("%1$-50s %2$-50s \n", yearlyQueryResults.getString("Year"), yearlyQueryResults.getString("Total")));
        }
        
        totalAppointmentsThisYearText.setText(parseReport.toString());
    }
    
    catch(SQLException ex) {
        System.out.println("Error " + ex.getMessage());
    }
}