Ik wil graag een updatable resultset hebben en het schijnt me maar niet te lukken. Hij wil gewoon niet update krijg verder geen foutmeldingen.
Het is me eerlijk gezegd ook een beetje onduidelijk wie voor die functionaliteit verantwoordelijk is. Ik gebruik op dit moment een sybase 5 database (oud beestje) en de jdbc-odbc bridge van Sun uit jdk1.4. Maar wie is nu verantwoordelijk voor die updatable resultset? Is dat de bridge, is het de odbc->sybase driver?
Ik dacht dat het ook aan mijn db kon liggen maar ik controleer of de db driver die functionaleit ondersteunt (na maken resultset even getConcurrency ophalen) en hij is wel updatable. Ik heb ook nog aan de metadata gevraagd of deze functie wordt ondersteunt en die zegt ook dat het wel snor zit.
mijn code
Misschien dat iemand die hier wat ervaring mee heeft me even kan uitleggen wat ik fout doe.
Het is me eerlijk gezegd ook een beetje onduidelijk wie voor die functionaliteit verantwoordelijk is. Ik gebruik op dit moment een sybase 5 database (oud beestje) en de jdbc-odbc bridge van Sun uit jdk1.4. Maar wie is nu verantwoordelijk voor die updatable resultset? Is dat de bridge, is het de odbc->sybase driver?
Ik dacht dat het ook aan mijn db kon liggen maar ik controleer of de db driver die functionaleit ondersteunt (na maken resultset even getConcurrency ophalen) en hij is wel updatable. Ik heb ook nog aan de metadata gevraagd of deze functie wordt ondersteunt en die zegt ook dat het wel snor zit.
mijn code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| public ResultSet createFreshResultSet()throws TableException{
try{
RealDatabase realDatabase = m_database.getRealDatabase();
if(realDatabase.isConnectionClosed())
realDatabase.makeConnection();
Connection connection = realDatabase.getConnection();
if(connection.getMetaData().supportsResultSetConcurrency( ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE)){
System.out.println("does supports insensitive and updatable");
}else{
System.out.println("does not supports insensitive and updatable");
}
if(m_resultSet!=null)
m_resultSet.close();
String prepStmtString = createPreparedStmtString();
Statement stmt = m_database.getRealDatabase().getConnection().createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE
);
m_resultSet = stmt.executeQuery(prepStmtString);
if(m_resultSet.getConcurrency() == ResultSet.CONCUR_UPDATABLE){
System.out.println("Updatable");
}else{
System.out.println("Read only");
}
// stmt.close();
return m_resultSet;
}catch(SQLException e){
MultiDatabase.printSQLException(e);
e.printStackTrace();
throw new TableException(e.getMessage(),e);
}
catch(RealDatabaseException e){
throw new TableException(e);
}
} |
Misschien dat iemand die hier wat ervaring mee heeft me even kan uitleggen wat ik fout doe.