java更新firebird数据库数据时报错
在java中更新firebird数据库时报错如下:
org.firebirdsql.jdbc.FBResultSetNotUpdatableException: Underlying result set does not contain all columns that form 'best row identifier'.
at org.firebirdsql.jdbc.FBRowUpdater.getParameterMask(FBRowUpdater.java:252)
at org.firebirdsql.jdbc.FBRowUpdater.executeStatement(FBRowUpdater.java:548)
at org.firebirdsql.jdbc.FBRowUpdater.insertRow(FBRowUpdater.java:472)
at org.firebirdsql.jdbc.AbstractResultSet.insertRow(AbstractResultSet.java:2479)
下边是程序的部分更新数据库的代码:
- Java code
strSql= "select * from GroupUser where GroupAttr is null"; rs = wdb.query(strQuery); rs.moveToInsertRow();//寻找可插入位置,游标指向该位置。 rs.updateString("GroupAttr",strGroupAttr); rs.updateString("PassWord",strPassWord); rs.updateString("CheckWord",strPassCheck); rs.updateDate("RegisterDate",dateNow); rs.updateDate("LastAccessDate",dateNow); rs.insertRow();
就是这个rs.insertRow();时报的错,请高手帮忙!
另外,我的Statement设置的是可更新的,如下:
- Java code
statement= connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
[解决办法]
不是很清楚。帮你顶。
[解决办法]
怎么有2个?
[解决办法]
帮顶
[解决办法]
是不是违反了数据的同一性,
相同的数据已经被添加了?