为什么taxPercentage变量被返回为null?

时间:2016-07-21 17:17:33

标签: java mysql sql

以下代码的目的是根据给定的薪水评估税收累计," converted_basic_pay"。对于除最后一行之外的所有值,似乎工作正常,对于任何大于15001的工资,它具有空值。但是,出于测试目的,我将converted_basic_pay的值设置为20000,但它仍然返回null而不是最高税率。这是sql中的税表:

enter image description here

float taxPercentage = 0;
PreparedStatement ps6 = con.prepareStatement("SELECT TaxPercentage from payroll_system.tax_info WHERE ? BETWEEN FromSalary and ToSalary");
ps6.setInt(1, converted_basic_pay);
ResultSet rx = ps6.executeQuery();
if (rx.next()){ 

    PreparedStatement ps7 = con.prepareStatement("SELECT MAX(TaxPercentage) as maxTax, MAX(FromSalary) as maxFrom from payroll_system.tax_info"); 
    ResultSet rx1 = ps7.executeQuery(); 
    if(rx1.next()){
        float maxTax = rx1.getFloat("maxTax");
        float maxFrom = rx1.getFloat("maxFrom");
        if(converted_basic_pay>maxFrom){
            taxPercentage = maxTax;
        }
        else{
            taxPercentage =rx.getFloat("TaxPercentage");
        }
        out.println(taxPercentage);

        }           
    }
}

converted_basic_pay的值是20000.为什么最后一行out.println(taxPercentage)返回空值而不是45.00?

0 个答案:

没有答案