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个?
------解决方案--------------------帮顶
------解决方案--------------------
是不是违反了数据的同一性,
相同的数据已经被添加了?