现在我数据库中的编号是以 000001 000002这样的格式 
现在我添加一条记录,首先取出最大的编号,然后+1进行插入
比如我现在数据库中最大的是0000015  插入的编号就应该是000016
越简单越好。。能贴出具体代码

解决方案 »

  1.   

    这问题和String Integer转换有什么关系?
    数据库字段设置auto increment可以自增
      

  2.   

    如下:
    public synchronized static String getSerialNumber(Integer number) {
    String zeros = "0000000"; 
    number = number + 1;
    return zeros.substring( 0, 7 - number.toString().length()) + number; 
    }
      

  3.   

    显然楼主的数据库里的编号字段是VARCHAR类型的(或是其他字符串类型)……
      

  4.   

    支持5楼的写法,但Oracle数据库除外
      

  5.   

    在oracle数据库中测试过,直接select max(column) from table 
    对于varchar2型的也是可以直接得到最大的, 如lz的情况,可以直接
    得到0000015. 其他数据库应该也没问题,没有测试。LZ可以试一下。
    实在不行可以一条条全部搜出来然后转换再比较,对于这样的字符串
    Integer.parseInt("00000015")结果可得15
      

  6.   

    先从数据库取出最大的来 
     以"000000019"为例public class StringToInteger {
    public static void main(String[] args) {
    String str="000000019";
    //得到总长度
    int sLength=str.length();
    //"000000019"转换成int 为19  再加1
    int value=Integer.parseInt(str)+1;
    //得到value转换为string后的长度
    int vLength=(value+"").length();
    //截取前面的0的个数
    str=str.substring(0,sLength-vLength);
    //得到结果
    str=str+value;
    System.out.println(str);
    }
    }