# updatable resultset



## curtis (11. Jun 2005)

hallo!

ich erstelle ein resultset wie folgt:

```
Statement upstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet uprs=upstmt.executeQuery("select * from COFFEES");
```
das resultset, das ich zurückbekomme, ist aber nicht updatable! uprs.isUpdatable=false, und wenn ich die methode uprs.moveToInsertRow(); aufrufe, bekomme ich eine SQLException (com.mysql.jdbc.NotUpdatable: Result Set not updatable.).

ich verwende mysql-standard-4.1.12-apple-darwin7.9.0-powerpc und den JDBC-Treiber mysql-connector-java-3.1.8.
ist es möglich, dass der treiber keine JDBC 2.0-updates unterstützt?[/code]


----------



## Bleiglanz (11. Jun 2005)

möglich is alles, besorg dir mal einen neueren Treiber bei mysql.com

ist COFFEES überhaupt eine Tabelle? PrimaryKey vorhanden? lass dir mal die Warnings ausgeben...


----------



## curtis (12. Jun 2005)

der treiber ist brandneu. ausserdem kann ich das resultset uprs problemlos ausgeben. es gibt keine warnings.


----------



## Bleiglanz (12. Jun 2005)

dann schau halt in die doku zum treiber ob er diese fearture unterstützt

st COFFEES überhaupt eine Tabelle? PrimaryKey vorhanden? lass dir mal die Warnings ausgeben...


----------



## curtis (13. Jun 2005)

die doku schweigt sich darüber aus, ich nehme also an, dass jdbc 2.0 unterstützt wird.
nochmal: ich kann mir das resultset vollständig ausgeben, die tabelle ist also korrekt angelegt. und es gibt keine warnings.
ich habe mein problem auch auf mysql.org gepostet. sollte dort jemand eine erklärung für dieses verhalten finden, werde ich es hier auch posten.


----------



## Bleiglanz (14. Jun 2005)

> I'm trying to use JDBC-2.0 updatable result sets, and I get an exception saying my result set is not updatable.
> 
> Because MySQL does not have row identifiers, MySQL Connector/J can only update result sets that have come from queries on tables that have at least one primary key, the query must select all of the primary key(s) and the query can only span one table (i.e. no joins). This is outlined in the JDBC specification.


http://people.cs.uchicago.edu/~asie...sson5/mysql-connector-java-3.1.8/docs/#N10A01


----------

