1.要求:
导入所需要的jar包 资源(含所需的全部jar包):
数据库access所建的表最好不要主键(否则删除时会出错,而且进行其他操作时也会出现警告)
表的字段应该知道他的排序准则(否则无法准确进行插入一行数据)
2.代码实例
(1)遍历
import java.io.File;
import java.io.IOException;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;
public class Main {
public static void main(String[] args) throws IOException
{
Database db = DatabaseBuilder.open(new File("数据库文件名"));
Table t = db.getTable("表名");
for (Row r : t)
{
/* All we want to do........*/
System.out.println("" + r);
}
}
}
(2)更新数据,增删行
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import com.healthmarketscience.jackcess.CursorBuilder;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;
public class Main {
public static void main(String[] args) throws IOException
{
Database db = DatabaseBuilder.open(new File(""));
Table t = db.getTable("");
/* 通过表中一行特定的键值对来得到表中行对象*/
Row r = CursorBuilder.findRow(t, Collections.singletonMap(key, value));
/* we can get the row Object all we want
* Object c1 = r.get(key1);
* Object c2 = r.get(key2);
* 暂时未能找到针对行中某一列来修改数据的API
* 如 r.put(...);
* r.replace(...);
* 经测试都无法修改数据库中的值,目前只能通过deleteRow
* addRow来修改数据库里的值
*/
t.deleteRow(r);
t.addRow(c1,c2 ..args);
}
}
(3)其他API操作 查看jackess官网或查看jackess源代码