好像oracle没有自动增加1的功能吧。用程序实现,先取出原先id的最大值,然后加1再insert。
不知其他高手如何实现。

解决方案 »

  1.   

    你可以写个SEQUENCE,或者自己查一下
    public final String getNextID(String tableName)
    {
    String strSQL = new String("SELECT MAX(" + getIDNameFromTableName(tableName) + ") FROM ");
    strSQL += tableName;
    ResultSet rs = runSQL(strSQL);
    if(rs == null)
    return null;
            int id=0;
    try
    {
    if(rs.next())
    id = rs.getInt(1);
                rs.close();
    }
    catch(SQLException sqle)
    {
    return null;
    }        return String.valueOf(++id);
    }
    相应方法自己替换一下
      

  2.   

    To peanz(似水流年) :
       我原来就希望用你这种方法实现,可是具体的代码我写不清楚,你能具体写出来给我看看吗?
      

  3.   

    大致的思路:
    String sql1="select max(id) from table1"
    rs=stmt.executeQuery(sql1);
    int tempid=rs.getInt(1)+1;
    String sql2="insert into table1(id,name,...) values("+tempid+",'someonename',....)"
    stmt.executeUpdate();
      

  4.   

    string sql1="select max(id) from table1"
    rs=stmt.execueQuery(sql1);
    int tempid=rs.getInt(1)+1;
    String sql2="insert into table1(id,name,...) values("+tempid+",'somename',.....)"
    stmt.executeUpdate();