2016-04-10 39 views
0

Aşağıdaki kodum var. Oluşturulan anahtarları iade etme isteğiyle hazırlanmış bir ifade.PreparedStatement.getGeneratedKeys() tarafından döndürülen bir RowID nasıl kullanılır?

OluşturulanKeys sonuç kümesinde, tek dönüş sütunu "ROWID" olarak adlandırılır ve değer, RowId sınıfının bir örneğidir. Alttaki screencap bakın.

Sorunuz Tüm satırı almak için satır kimliğini nasıl kullanılır? Verileri sokulur ve rowid var bir kez

preparedStatement = conn.prepareStatement(insert, Statement.RETURN_GENERATED_KEYS); 
SqlUtils.addParams(preparedStatement, params); 
preparedStatement.executeUpdate(); 
ResultSet generatedKeys = preparedStatement.getGeneratedKeys(); 

enter image description here

+0

Eğer ([RowId nesneleri kullanma] Oracle'ın belgelerine bakmak mı https://docs.oracle.com/javase/tutorial/jdbc/basics/ sqlrowid.html)? –

+1

Soruyu doğrudan yanıtlamayan, ancak [bu] (http://stackoverflow.com/a/32114047/266304) biraz alakalı olabilir mi? –

cevap

0

, bir DB tarafından eklenen, örneğin değerleri için yerleştirilmiştir oluşturulan değerler de dahil olmak üzere tüm satır, özü super fastly için kullanabilir prosedür.

satır ayıklamak için rowid kullanmanın

Örnek:

Object rowId = generatedKeys.getObject(1); 
String tableName = generatedKeys.getMetaData().getTableName(1); 
List<Map<String, Object>> resAsList = select(conn, "select * from " + tableName + " where rowid=?", rowId);