我有一个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。我怎么解决这个问题?
答案 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)
{
}