java - 如何使自动递增数字Java
问题描述
我正在制作自动编号的方法,但该编号仅卡在编号 P-011 上。如何解决?
private void outomatic_number(){
try {
open_db();
String sql="select right (no_rm,2)+1 from pasien";
ResultSet rs=stm.executeQuery(sql);
if(rs.next()){
rs.last();
String no=rs.getString(1);
while (no.length()<3){
no="00"+no;
txtno.setText("P-"+no);}
}
else
{
txtno.setText("P-001");
}
} catch (Exception e)
{
}
}
解决方案
既然你打电话rs.last()
,似乎很可能有不止一条记录pasien
。
您需要记住,如果没有子句,SQLSELECT
语句会以任意顺序返回数据。ORDER BY
由于您没有ORDER BY
子句,因此“最后一个”记录不一定是编号最高的记录。
添加一个ORDER BY
子句来修复代码。