如何将数据库表的自动递增列值绑定到文本框?

时间:2012-08-22 04:59:01

标签: java mysql

我有一个MySql表,其中有一个名为payslip_no的列,它被设置为AUTO_INCREMENT。我想将此自动递增值设置为页面加载时文本框的值。

另一种方法是我尝试以编程方式递增此数字而不将列设置为“AUTO_INCREMENT”。以下是代码:

public void get_payslip_no()
{

int n1 =0;
try
{
rs2=st2.executeQuery("select max(payslip_no) from tbl_add_payroll");
if(rs2.next())
{
n1=rs2.getInt("payslip_no");
n1=n1+1;
String n2 = Integer.toString(n1);
txt_payslip_no.setText(n2);
System.out.println(n2);                   
}
}//try
catch(SQLException e2)
{
 JOptionPane.showMessageDialog(this,"Payroll-Serial no Storing Error!!!","Serial No Error",JOptionPane.INFORMATION_MESSAGE);    
}//catch
}

此代码抛出NullPointerException,因为当前数据库为null。我怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

你可以尝试这个答案.. :))

int no=101;
    int no1;
try
        {
           dbStatement = con.createStatement();
           dbResult= dbStatement.executeQuery("select payslip_no from tbl_add_payroll ORDER BY  payslip_no  DESC LIMIT 1");

          if(dbResult.next()==false)
          {
               jTextField3.setText(String.valueOf(no));

          }
         else
          {         
            dbResult= dbStatement.executeQuery("select payslip_no from tbl_add_payroll ORDER BY payslip_no DESC LIMIT 1");      
                    while(dbResult.next())

                           {
                           deptno=dbResult.getInt("payslip_no");

                             }


                             no1=deptno+1;
                             jTextField3.setText(String.valueOf(no1));
          }


     }catch(Exception E)
     {

     }