I want to make a small change to the Access table using UCanAccess via NetBeans, but I ran into a problem in the row
pst.executeUpdate();
Database Information:
database name : duruBistro.accdb table name : person field names: tc_no (text) name (text) surname (text) salary (number)
the code:
Connection conn = DriverManager.getConnection("jdbc:ucanaccess://C:\\Users\\ysnndr \\Documents\\accessDB\\duruBistro.accdb"); String query = "UPDATE PERSON SET SALARY = ? WHERE TC_NO = '189'"; PreparedStatement pst = conn.prepareStatement(query); pst.setInt(1, 2500); pst.executeUpdate();
An exception:
run: java.lang.IllegalArgumentException: Given index Index@53f65459 [ name: (PERSON) PrimaryKey number: 0 isPrimaryKey: true isForeignKey: false data: IndexData@3b088d51 [ dataNumber: 0 pageNumber: 317 isBackingPrimaryKey: true isUnique: true ignoreNulls: false columns: [ ReadOnlyColumnDescriptor@1786dec2 [ column: TextColumn@711f39f9 [ name: (PERSON) TC_NO type: 0xa (TEXT) number: 17 length: 22 variableLength: true compressedUnicode: true textSortOrder: SortOrder[1055(0)] ] flags: 1 ] ] initialized: false pageCache: IndexPageCache@74650e52 [ pages: (uninitialized) ] ] ] is not usable for indexed lookups due to unsupported collating sort order SortOrder[1055(0)] for text index at com.healthmarketscience.jackcess.impl.IndexCursorImpl.createCursor(IndexCursorImpl.java:111) net.ucanaccess.jdbc.UcanaccessSQLException: Given index Index@53f65459 [ name: (PERSON) PrimaryKey number: 0 isPrimaryKey: true isForeignKey: false data: IndexData@3b088d51 [ dataNumber: 0 pageNumber: 317 at com.healthmarketscience.jackcess.CursorBuilder.toCursor(CursorBuilder.java:302) at net.ucanaccess.commands.IndexSelector.getCursor(IndexSelector.java:148) isBackingPrimaryKey: true isUnique: true at net.ucanaccess.commands.CompositeCommand.persist(CompositeCommand.java:83) ignoreNulls: false columns: [ ReadOnlyColumnDescriptor@1786dec2 [ column: TextColumn@711f39f9 [ name: (PERSON) TC_NO type: 0xa (TEXT) number: 17 length: 22 variableLength: true compressedUnicode: true textSortOrder: SortOrder[1055(0)] ] flags: 1 ] ] initialized: false pageCache: IndexPageCache@74650e52 [ pages: (uninitialized) ] ] ] is not usable for indexed lookups due to unsupported collating sort order SortOrder[1055(0)] for text index at net.ucanaccess.jdbc.UcanaccessConnection.flushIO(UcanaccessConnection.java:312) at net.ucanaccess.jdbc.UcanaccessConnection.commit(UcanaccessConnection.java:202) at net.ucanaccess.jdbc.AbstractExecute.executeBase(AbstractExecute.java:143) at net.ucanaccess.jdbc.ExecuteUpdate.execute(ExecuteUpdate.java:56) at net.ucanaccess.jdbc.UcanaccessPreparedStatement.executeUpdate(UcanaccessPreparedStatement.java:248) at com.ui.AccdbcConnection.main(AccdbcConnection.java:29) BUILD SUCCESSFUL (total time: 1 second)
source share