2013-03-19 50 views
1

我現在試圖調用一個返回標量值的代表插入的行ID(這是varchar)的sproc,這怎麼能在JDBC中實現呢? 什麼我現在做的是讓DB存儲過程返回的結果是這樣如何使用JDBC檢索標量值?

select SCOPE_IDENTITY() 

,並在我的代碼,我用的ResultSet

ResultSet resultSet = statement.executeQuery(); 
resultSet.next(); 
String productId = resultSet.getString(1); 

我是不是做正確嗎?

+0

郵編。同時顯示錶格的模式。 – expert 2013-03-19 03:55:07

回答

4

這是preferrable與JDBC檢索生成的ID,你試過到目前爲止

PreparedStatement ps = conn.prepareStatement(insertStatement, Statement.RETURN_GENERATED_KEYS); 
    ps.executeUpdate(); 
    ResultSet rs = ps.getGeneratedKeys(); 
    rs.next(); 
    String id = rs.getString(1); 
+0

很酷。但問題是我打電話給sproc,我們公司不允許我們通過JDBC自己編寫sql – imgen 2013-03-19 05:08:10