java - Unable to drop table via Jackcess using getSystemTable and findFirstRow -
why can't cursor findfirstrow when try use jackcess find row need delete in order drop table?
private static void deletetable(database db, string tablename) throws ioexception {     table table = db.getsystemtable(tablename);     if (table == null) {         return;     }     cursor cursor = table.getdefaultcursor();     map<string, object> criteria = new hashmap<string, object>();     criteria.put("name", tablename);     criteria.put("type", (short) 1);     if (cursor.findfirstrow(criteria)) {         table.deleterow(cursor.getcurrentrow());         log.e(tag, "delete " + tablename + "   success!");     } else {         log.e(tag, "can't find table");//run here     }     db.flush();     db.close(); } p.s.: no reported exception
your mistake opening table want delete, not system table holds list of database objects. instead of
table table = db.getsystemtable(tablename); you need use
table table = db.getsystemtable("msysobjects"); 
Comments
Post a Comment