我试图自动生成发票,并在Oracle sql db中创建了一个名为Product的表,当我从后端表的最大值检查为103时,但是当我从此代码执行操作时,出现错误:


java.lang.NumberFormatException:空


表desc是

ID NUMBER(4),
MANUF_NAME VARCHAR2(20)


它已经有3条记录,并且最高ID号是103,现在我必须获得104,但没有获得

public void InvoiceNo ()
{
    try {
        connection2database();
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select MAX(ID) from PRODUCT");

        if (rs.next())
        {
            int invoicenumber = Integer.parseInt(rs.getString(1))+1;
            jLabel2.setText(Integer.toString(invoicenumber));
        }
    }
    catch (Exception Ex)
        {
            Ex.printStackTrace();
            JOptionPane.showMessageDialog(this, Ex.toString());
        }
}

最佳答案

public void InvoiceNo ()
{
    try {
        connection2database();
        Statement st = con.createStatement();
        /* While getting value from DB do +1*/
        ResultSet rs = st.executeQuery("select MAX(ID)+1 from PRODUCT");

        if (rs.next())
        {
            jLabel2.setText(Integer.toString(rs.getInt(1)));
        }
    }
    catch (Exception Ex)
        {
            Ex.printStackTrace();
            JOptionPane.showMessageDialog(this, Ex.toString());
        }
}


希望这会起作用。

关于java - java.lang.NumberFormatException:从oracle db生成发票编号时java中的null错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61349127/

10-11 01:01