Karol
R.
Projektant /
Programista
Temat: JDBC rekordy aktualizowane
Witam,Mam dziwny problem z budowaniem aktualizowanych rekordów bazy danych Oracle. Gdy w zapytaniu używam SELECT * do pobrania wszystkich kolumn uzyskany rekord nie da się edytować, gdy wypisze wszystkie nazwy kolumn w konstrukcji SELECT wtedy wszystko jest ok. Oto fragment kodu, który obrazuje problem:
"
java.sql.Statement stat = conn.createStatement(
java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,
java.sql.ResultSet.CONCUR_UPDATABLE);
java.sql.ResultSet rs_all = stat.executeQuery("SELECT * FROM Guests");
System.out.println(rs_all.getConcurrency() == java.sql.ResultSet.CONCUR_UPDATABLE);
//return false
java.sql.ResultSetMetaData rsmd = rs_all.getMetaData();
rs_all.close();
StringBuilder columnNames = new StringBuilder();
for(int i=0; i<rsmd.getColumnCount(); ++i) {
if(i != 0)
columnNames.append(", ");
columnNames.append(rsmd.getColumnName(i+1));
}
java.sql.ResultSet rs = stat.executeQuery("SELECT " + columnNames + " FROM Guests");
System.out.println(rs.getConcurrency() == java.sql.ResultSet.CONCUR_UPDATABLE);
//return true
"
Ktoś spotkał się z podobnym działaniem JDBC i wie z czego to wynika? Z góry dzięki za odpowiedź.