2012-03-24 91 views
0

我在JSP-JDBC中创建了一个简单的应用程序,用于插入和更新员工的详细信息。在JSP上显示自动生成的主键

数据库在MySql中。主表中的主键设置为自动增量。 现在,当我插入新员工详细信息时,我想在JSP中的文本字段中显示新生成的密钥。

有没有办法做到这一点。

这是我在DAO类中创建的方法..

public int getMaxId() 
    { 
     int id=0; 
     try{ 
      Class.forName(driver); 
      con = DriverManager.getConnection(url+db,"root","root"); 
      Statement st = con.createStatement(); 
      ResultSet rs = st.executeQuery("Select MAX(emp_id) from emp_details"); 
      id = rs.getInt("emp_id"); 
     }catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
     return id; 

    } 

但其显示java.sql.SQLException: Column 'emp_id' not found.

+0

你可能想在这个问题看:http://stackoverflow.com/questions/1915166/how-to-get-the-insert-id-in-jdbc – 2012-03-24 04:02:54

回答

2

它已经有一段时间,但我认为你可以拨打另一个电话到MySQL,并得到ID。 SELECT LAST_INSERT_ID();也许?

希望有帮助!

布兰登

+0

@Brandon我如何使用这个查询。由'ResultSet'或其他任何其他类。 – 2012-03-24 03:55:00

+0

是的,带有ResultSet。 getXXXX('LAST_INSERT_ID()')也许?我不记得了。你可以随时将它别名。 'SELECT LAST_INSERT_ID()AS LAST_ID' – bcarlso 2012-03-24 14:11:38