2012-03-24 3 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 –

ответ

2

Это было некоторое время, но я думаю, что вы можете сделать еще один вызов MySQL и получить ID. SELECT LAST_INSERT_ID(); возможно?

Надеюсь, что это поможет!

Brandon

+0

@Brandon Как я используйте этот запрос. По «ResultSet» или другому любому другому классу. –

+0

Да, с ResultSet. getXXXX ('LAST_INSERT_ID()') Может быть? Я не помню. Вы всегда могли бы это назвать. 'SELECT LAST_INSERT_ID() AS LAST_ID' – bcarlso