For loop 如何在While循环中跳过循环iterarion bigdecim baseAmt=Env.ZERO; String sql=“选择il.LineNetAmt、COALESCE(il.taxant,0)、i.IsSOTrx” +“来自C_发票行il” +“内部联接C_发票i ON(il.C_发票ID=i.C_发票ID)” +“其中il.C_发票ID=?和il.C_税务ID=?”; PreparedStatement pstmt=null; 结果集rs=null; 尝试 { pstmt=DB.prepareStatement(sql,get_TrxName()); pstmt.setInt(1,getC_Invoice_ID()); pstmt.setInt(2,getC_Tax_ID()); rs=pstmt.executeQuery(); /*MInvoiceLine[]lines1=getLines(false); 对于(int a=0;a

For loop 如何在While循环中跳过循环iterarion bigdecim baseAmt=Env.ZERO; String sql=“选择il.LineNetAmt、COALESCE(il.taxant,0)、i.IsSOTrx” +“来自C_发票行il” +“内部联接C_发票i ON(il.C_发票ID=i.C_发票ID)” +“其中il.C_发票ID=?和il.C_税务ID=?”; PreparedStatement pstmt=null; 结果集rs=null; 尝试 { pstmt=DB.prepareStatement(sql,get_TrxName()); pstmt.setInt(1,getC_Invoice_ID()); pstmt.setInt(2,getC_Tax_ID()); rs=pstmt.executeQuery(); /*MInvoiceLine[]lines1=getLines(false); 对于(int a=0;a,for-loop,while-loop,For Loop,While Loop,在上面的代码中,执行是1)查询进入while循环,第二次进入for循环,但我希望首先它应该是第1行,第二次它应该进入while循环,然后在它里面取第二行的值 请帮帮我 BigDecimal baseAmt = Env.ZERO; String sql = "SELECT il.LineNetAmt, COALESCE(il.TaxAmt,0), i.IsSOTrx " + "FROM C_Invoic

在上面的代码中,执行是1)查询进入while循环,第二次进入for循环,但我希望首先它应该是第1行,第二次它应该进入while循环,然后在它里面取第二行的值

请帮帮我

BigDecimal baseAmt = Env.ZERO;
                    String sql = "SELECT il.LineNetAmt, COALESCE(il.TaxAmt,0), i.IsSOTrx "
                            + "FROM C_InvoiceLine il"
                            + " INNER JOIN C_Invoice i ON (il.C_Invoice_ID=i.C_Invoice_ID) "
                            + "WHERE il.C_Invoice_ID=? AND il.C_Tax_ID=?";
                    PreparedStatement pstmt = null;
                    ResultSet rs = null;
                    try
                    {
                        pstmt = DB.prepareStatement (sql, get_TrxName());
                        pstmt.setInt (1, getC_Invoice_ID());
                        pstmt.setInt (2, getC_Tax_ID());
                        rs = pstmt.executeQuery ();

                        /*MInvoiceLine[] lines1 = getLines(false);
                        for (int a = 0; a < lines1.length; a++)
                        {MInvoiceLine sLine = lines1[a];*/


                        while (rs.next ())
                        {

                            MInvoiceLine[] lines1 = getLines(false);
                            for (int a = 0; a < lines1.length; a++)
                            {
                                MInvoiceLine sLine = lines1[a];

                            //  BaseAmt
                             baseAmt = rs.getBigDecimal(1);
                             for (int j = 0; j < cTaxes.length; j++)
                                {

                                    /*if (!iTax.calculateTaxFromLines1())
                                    return false;*/
                                    MTax cTax = cTaxes[j];
                                    BigDecimal taxAmt = cTax.calculateTax1(baseAmt, isTaxIncluded(), getPrecision());
                                    MInvoiceTaxLine newITax = new MInvoiceTaxLine(getCtx(), 0, get_TrxName());
                                    MProduct product = MProduct.get (getCtx(), sLine.getM_Product_ID());
                                    newITax.setClientOrg(this);
                                    newITax.setC_Invoice_ID(getC_Invoice_ID());
                                    newITax.setC_Tax_ID(cTax.getC_Tax_ID());
                                    //newITax.setPrecision(getPrecision());
                                    //newITax.setIsTaxIncluded(isTaxIncluded());
                                    newITax.setBaseAmount(sLine.getPriceEntered());
                                    newITax.setM_Product_ID(product.getName());
                                    newITax.setBaseAmount(baseAmt);
                                    newITax.setCaculatedTaxAmt(taxAmt);
                                    newITax.saveEx(get_TrxName());
                                    //
                                    if (!isTaxIncluded())
                                        grandTotal = grandTotal.add(taxAmt);
                                    }
                            }   

                        }
                    }    


                    catch (SQLException e)
                    {
                        throw new DBException(e, sql);
                    }
                    finally
                    {
                        DB.close(rs, pstmt);
                        rs = null; pstmt = null;
                    }   
                }