2012-03-24 92 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