Warum kann Cursor nicht verwendet werden, wenn ich versuche, Jackcess zu verwenden, um die Zeile zu finden, die ich löschen muss, um eine Tabelle zu löschen?Kann Tabelle über Jackcess nicht mit getSystemTable und findFirstRow löschen
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 this Table");//run here
}
db.flush();
db.close();
}
P. S .: keine gemeldet Ausnahme
Ein Titel kurz und bündig das Problem beschreiben sollte zu verwenden; Verwenden Sie den Hauptteil der Frage, um das Problem genauer zu erklären. Wenn das bedeutet, den Titel im Körper zu wiederholen, wiederholen Sie den Titel. Fragen mit nur Code im Körper sind in der Regel von geringer Qualität. –