我正在制作自动号码的方法,但该号码仅固定在号码 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
中似乎有不止一条记录。
您需要记住,如果没有 ORDER BY
子句,SQL SELECT
语句将按任意顺序返回数据。
由于没有 ORDER BY
子句,“最后”记录不一定是编号最大的记录。
添加 ORDER BY
子句来修复代码。
关于java - 如何使用Java实现数字自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58429532/