Ciao a tutti, ho un problema con la cancellazione di righe da una tabella di un database Access.
Utilizzo come driver la libreria jackcess.
Il codice in effetti cancella la riga, ma da anche errore :
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder
at com.healthmarketscience.jackcess.RowId.compareTo(R owId.java:108)
at com.healthmarketscience.jackcess.Index$Entry.compa reTo(Index.java:1897)
at com.healthmarketscience.jackcess.Index$Entry.compa reTo(Index.java:1709)
at java.util.Collections.indexedBinarySearch(Collecti ons.java:215)
at java.util.Collections.binarySearch(Collections.jav a:201)
at com.healthmarketscience.jackcess.Index$DataPage.fi ndEntry(Index.java:2419)
at com.healthmarketscience.jackcess.Index.removeEntry (Index.java:489)
at com.healthmarketscience.jackcess.Index.deleteRow(I ndex.java:472)
at com.healthmarketscience.jackcess.Table.deleteRow(T able.java:389)
at com.healthmarketscience.jackcess.Cursor.deleteCurr entRow(Cursor.java:535)
at com.healthmarketscience.jackcess.Table.deleteCurre ntRow(Table.java:359)
Grazie.codice:public void cancellaRigaDb() { try { Database db = Database.open(new File("DB/db.mdb")); db.setUseBigIndex(true); Table table = db.getTable(ComboDbScelta); Map<String,Object> row = null; while(null != (row = table.getNextRow())) { if (row.get("Descrizione").equals("voce da cancellare")) { table.deleteCurrentRow(); } } db.close(); } catch (IOException ex) { Logger.getLogger(DbView.class.getName()).log(Level.SEVERE, null, ex); } }

Rispondi quotando